1.shopt介绍

linux内建命令shopt允许shell在空闲时修改shell选项,它经常出现在启动文件中。但是,在一般脚本中也常出现,不过需要在版本2之后的bash中才支持。

2.样例

-->shopt用法

命令:

help shopt

[root@elasticsearch ~]# help shopt
shopt: shopt [-pqsu] [-o] [optname ...]
    Set and unset shell options.
    
    Change the setting of each shell option OPTNAME.  Without any option
    arguments, list all shell options with an indication of whether or not each
    is set.
    
    Options:
      -o	restrict OPTNAMEs to those defined for use with `set -o'
      -p	print each shell option with an indication of its status
      -q	suppress output
      -s	enable (set) each OPTNAME
      -u	disable (unset) each OPTNAME
    
    Exit Status:
    Returns success if OPTNAME is enabled; fails if an invalid option is
    given or OPTNAME is disabled.
[root@elasticsearch ~]#

样例:

[root@elasticsearch ~]# shopt -s cdspell      #设置使用cd命令时,允许产生少量的拼写错误
[root@elasticsearch ~]# cd /hpme              #应该是"/home"
/home
[root@elasticsearch home]# pwd
/home                                         #正常进入/home目录,说明拼写错误被纠正了
[root@elasticsearch home]#

-->被允许修改的shell选项

[root@elasticsearch home]# shopt
autocd         	off
cdable_vars    	off
cdspell        	on               #常用
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        	off             #常用
extquote       	on
failglob       	off
force_fignore  	on
globstar       	off
gnu_errfmt     	off
histappend     	on
histreedit     	off
histverify     	off
hostcomplete   	on
huponexit      	off
interactive_comments	on
lastpipe       	off
lithist        	off
login_shell    	on
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
syslog_history 	off
xpg_echo       	off
[root@elasticsearch home]#