mirror of https://github.com/n-hys/bash.git
114 lines
2.5 KiB
Plaintext
114 lines
2.5 KiB
Plaintext
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# let's try an error message first
|
|
shopt -z
|
|
|
|
# first, set up a known environment
|
|
shopt -u cdable_vars
|
|
shopt -s cdspell
|
|
shopt -u checkhash
|
|
shopt -u checkwinsize
|
|
shopt -s cmdhist
|
|
shopt -u dotglob
|
|
shopt -u execfail
|
|
shopt -s expand_aliases
|
|
shopt -u extglob
|
|
shopt -u histreedit
|
|
shopt -u histappend
|
|
shopt -u histverify
|
|
shopt -s hostcomplete
|
|
shopt -u huponexit
|
|
shopt -s interactive_comments
|
|
shopt -u lithist
|
|
shopt -u mailwarn
|
|
shopt -u nocaseglob
|
|
shopt -u nullglob
|
|
shopt -s promptvars
|
|
shopt -u shift_verbose
|
|
shopt -s sourcepath
|
|
shopt -u xpg_echo
|
|
|
|
# Now, start checking the output
|
|
builtin printf -- "--\n"
|
|
shopt -p # list 'em all
|
|
builtin printf -- "--\n"
|
|
# test specific variables
|
|
shopt -p huponexit
|
|
shopt -p checkwinsize
|
|
shopt -p sourcepath
|
|
|
|
builtin printf -- "--\n"
|
|
shopt -s -p
|
|
builtin printf -- "--\n"
|
|
shopt -u -p
|
|
builtin printf -- "--\n"
|
|
shopt -u
|
|
|
|
# Now set up another known environment
|
|
set +o allexport
|
|
set -o braceexpand
|
|
set +o errexit
|
|
set -o hashall
|
|
set -o histexpand
|
|
set +o keyword
|
|
set -o monitor
|
|
set +o noclobber
|
|
set +o noexec
|
|
set +o noglob
|
|
set +o notify
|
|
set +o nounset
|
|
set +o onecmd
|
|
set +o physical
|
|
set -o privileged
|
|
set +o verbose
|
|
set +o xtrace
|
|
set -o history
|
|
set +o ignoreeof
|
|
set -o interactive-comments
|
|
set +o posix
|
|
set -o emacs
|
|
set +o vi
|
|
|
|
# list 'em all
|
|
builtin printf -- "--\n"
|
|
shopt -o -p
|
|
|
|
builtin printf -- "--\n"
|
|
set -o
|
|
builtin printf -- "--\n"
|
|
set +o
|
|
|
|
# test specific variables
|
|
builtin printf -- "--\n"
|
|
shopt -p -o history
|
|
shopt -p -o verbose
|
|
|
|
builtin printf -- "--\n"
|
|
shopt -s -p -o
|
|
builtin printf -- "--\n"
|
|
shopt -u -p -o
|
|
builtin printf -- "--\n"
|
|
shopt -u -o
|
|
|
|
# errors
|
|
builtin printf -- "--\n"
|
|
shopt -p xyz1
|
|
shopt -o -p xyz1
|
|
|
|
${THIS_SH} ./shopt1.sub
|
|
|
|
# test whether or not temporary variable assignments that manipulate posix
|
|
# mode restore the previous state or the default non-posix state
|
|
${THIS_SH} -c 'shopt -s expand_aliases ; shopt expand_aliases ; POSIXLY_CORRECT=y true ; shopt expand_aliases'
|