内置 set 选项表
选项名 | 开关缩写 | 功能 |
---|---|---|
allexport | -a | 打开此开关,自动标记新的或者修改要传出的变量,直到重新关闭 |
braceexpand | -B | 将花括号的展开式设置为默认值 |
emacs | 进行命令行编辑,使用emacs内置编辑器,是默认设置 | |
errexit | -e | 假如一个命令返回一个非0的退出状态值(运行失误)后退出 ,则读入启动文件的时候不做任何设置 |
hisexpand | -H | 当进行历史命令替换时,使!和!!符号有效。这是默认设置 |
history | 使命令行历史记录开关打开。这个是个默认值 | |
ignoreeof | 防止退出shell的时候使得EOF(ctrl-D)失效。必须输入退出命令。当设置shell变量时也同理操作。IGNOREEOF=10 | |
keyword | -k | 将键盘参数至于环境中,并作为一个命令看待 |
interactive-comments | 在交互状态下的shell中,以#开头的命令行是注解 | |
monitor | -m | 运行工作控制 |
noclobber | -C | 防止重定向时文件被覆盖 |
noexec | -n | 读入但不执行命令。该选项用于检查脚本语法错误,但在交互环境下失效 |
noglob | -f | 使路径扩展式失效,也就是说,关闭了通配符 |
notify | -b | 后台工作完成后通知用户 |
nounset | -u | 当扩展一个未设置的变量时,系统报错 |
onecmd | -t | 读入并执行完一个命令后退出 |
physical | -P | 如果已经设置, 当键入cd或pwd时就不跟随符号链接,而使用实际目录 |
posix | 如果默认操作没有匹配posix标准,则shell行为会发生改变 | |
privileged | -p | 设置之后,shell就不读入.profile或ENV文件,而且shell函数也不从环境中继承了。对于setuid脚本而言,则自动设置 |
verbose | -v | 打开verbose模式进行调试 |
vi | 使用vi内置编辑器来进行命令行编辑 | |
xtrace | -x | 打开”输出显示“模式以进行调试 |
set -o option #Turns on the option
set +o option #Turns off the option
set -[a-zA-Z] #Abbreviation for an option; the minus turns it on
set +[a-zA-Z] #Abbreviation for an option; the plus turns it off
Note: 有些选项有缩写形式可以使用第二种方式进行设置,与第一种的结果一样,但是如果选项没有缩写形式,则无法使用第二种方式进行设置.
set -o 命令可以列出所有的选项已经选项的开关状态.
shopt内置命令:
是用于新版本的bash中的命令,其作用和set命令基本相同。shopt命令很多方面都是和set一样的,但是对shell的设置增加了很多扩充。
shopt -p #输出所有可用的选项设置命令
shopt -u option #表明选项没有被设置
shopt -s option #表明目前已经被设置的选项
shopt -o option #显示选项的状态, 但是只能针对set所设置的选项。