set和shopt设置Shell选项
Linux Shell命令行及脚本编程实例详解----笔记总结
你可以通过开启或关闭Bash的相关选项控制Bash的行为,不同的选项使用不同的开启或关闭的方法.Bash内置命令set控制一组选项,Bash内置命令shopt控制另一种选项. set -o 列出由命令set控制的每个Bash选项及其当前状态(开启或关闭).
[root@localhost ~]
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
使用命令set -o 或set +o 后跟选项名可以开启 和关闭 特定的Bash选项 . 开启ignoreeof选项,此选项可以使 退出登录Shell的Ctrl+d按键失效 .
set -o ignoreeof
现在,按Ctrl+d会出现如下:
使用 "exit" 退出 shell
关闭ignoreeof选项:
set +o ignoreeof
shopt 列出由命令shopt控制的每个Bash选项及其当前状态(开启或关闭). shopt -p 列出由命令shopt控制的每个Bash选项及其当前状态(但状态由shopt -s或shopt -u说明).
[root@localhost ~]# shopt
autocd off
cdable_vars off
cdspell off
checkhash off
checkjobs off
checkwinsize on
cmdhist on
compat31 off
compat32 off
compat40 off
compat41 off
direxpand off
dirspell off
dotglob off
execfail off
expand_aliases on
extdebug off
extglob on
extquote on
failglob off
force_fignore on
globstar off
gnu_errfmt off
histappend on
histreedit off
histverify off
hostcomplete off
huponexit off
interactive_comments on
lastpipe off
lithist off
login_shell off
mailwarn off
no_empty_cmd_completion off
nocaseglob off
nocasematch off
nullglob off
progcomp on
promptvars on
restricted_shell off
shift_verbose off
sourcepath on
xpg_echo off
使用命令shopt -s 或shopt -u 后跟选项名可以开启 和关闭 特定的Bash选项 shopt -s 后不跟选项名表示列出所有打开的选项 shopt -u 后不跟选项名表示列出所有关闭的选项 cdspell选项 用于监测cd命令中目录名的拼写错误并纠正.错误检查包括调换的字符,缺少的字符和重复的字符. 比如,我们要进入myshell目录,不小心写错了,会出现如下:
[root@localhost ~]# cd mysheel
bash: cd: mysheel: 没有那个文件或目录
开启cdspell选项,再一次输入同样的命令,会看到我们成功进入了myshell目录:
[root@localhost ~]# shopt -s cdspell
[root@localhost ~]# cd mysheel
myshell
[root@localhost myshell]#
你可以使用命令set和shopt为你自己定制一个Bash环境,你可以将这些命令写进你的~/.bashrc 文件,以使永久有效.如:
shopt -s cdspell
#纠正目录拼写
|