用内置的set和shopt命令来设置bash的选项

内置 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所设置的选项。

发布了9 篇原创文章 · 获赞 4 · 访问量 183

猜你喜欢

转载自blog.csdn.net/tonyyong90/article/details/105606638