shopt

shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。
shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

语法

  shopt [-pqsu] [-o] [optname ...]

选项

 -s   开启一个选项

 -u   禁用一个选项

 -p   显示所有可设置选项的列表,并指示
      是否已设置每个选项。输出以
      可以重复用作输入的形式显示。(-p是默认操作)

 -q   禁止正常输出;
      返回状态指示选项是设置还是未设置。
      如果多个选项参数使用' -q',如果所有选项都启用,则返回状态为零, 否则为非零

 -o   将选项的值限制为为set内置函数的“-o”选项定义的值

如果使用-s-u且没有选项参数,则显示仅限于那些分别设置或未设置的选项。除非另有说明,否则默认情况下禁用(关闭)shopt选项。

除非optname未启用*或者不是有效的shell选项,否则返回状态为零

shopt选项列表如下:



cdable_vars
    如果设置了这个参数,
    那么cd内置命令(不是目录)的参数将被假设为变量的名称,
    该变量的值是要更改的目录

cdspell
    纠正cd命令中目录名的较小拼写错误.
    检查的错误包括颠倒顺序的字符,遗漏的字符以及重复的字符.
    如果找到一处需修改之处,正确的路径将打印出,命令将继续.
    只用于交互式shell

checkhash
    如果设置了这个值,
    Bash会在尝试执行之前检查哈希表中找到的命令是否存在。
    如果命令不再存在,则执行正常路径搜索。 

checkwinsize
    如果设置了,Bash会在每个命令之后检查窗口大小,并在必要时更新行和列的值。

cmdhist
    如果设置了,Bash将尝试在同一历史记录条目中保存多行命令的所有行。
    这允许对多行命令进行简单的重新编辑。

dotglob
    如果设置了,Bash包含以'.'开头的文件名。在文件名扩展的结果中。

execfail
    如果一个非交互式shell不能执行指定给exec内置命令作为参数的文件,
    它不会退出.如果exec失败,一个交互式shell不会退出

expand_aliases
    如果设置了别名,则展开别名。此选项默认为交互式shell启用。

extglob
    如果设置,则启用上述扩展模式匹配特性。

histappend
    如果设置了历史列表,那么在shell退出时,历史列表将追加到历史文件中,而不是覆盖历史文件. 
        shopt -s histappend
    要将每一行附加到历史记录中单独设置:
        PROMPT_COMMAND='history -a'
    使用这两个设置,一个新的shell将获取以前所有的历史记录行
    shell而不是默认的'last window closed'> history 
    (历史文件由HISTFILE变量的值命名)

histreedit
    如果设置,并且正在使用Readline,则用户有机会重新编辑
    失败的历史记录. 

histverify
    如果设置,并且正在使用Readline,则历史替换的结果
    不会立即传递给shell解析器。相反,生成的行
    被加载到Readline编辑缓冲区中,允许进一步修改。

hostcomplete
    如果设置,并且正在使用Readline,Bash将尝试在
    当正在完成一个包含@的词时bash将试图执行主机名补全。
    默认情况下启用此选项。

huponexit
    如果设置,SIGHUP当交互式
    登录shell退出时,Bash将发送到所有作业

interactive_comments
    允许以“#”开头的单词在交互式shell中,
    该单词和该行上的所有剩余字符被忽略。
    此选项默认启用

lithist
    如果启用了cmdhist选项,多行命令将通过嵌入换行符保存到历史记录中

mailwarn
    如果设置了,并且Bash正在检查的邮件文件自上次检查以来已被访问,
    则显示“邮件文件中的邮件已被读取”的消息。 

no_empty_cmd_completion
    如果设置了,并且正在使用Readline,那么当在空行上尝试完成时,
    Bash将不会尝试搜索路径以寻找可能的完成.

nocaseglob
    如果设置,Bash在执行
    文件名扩展时以不区分大小写的方式匹配文件名 

nullglob
    如果设置,Bash允许不匹配任何文件的文件名模式扩展为
    空字符串,而不是他们本身

progcomp
    如果设置,则启用可编程完成功能。
    默认情况下启用此选项。
promptvars
    如果设置,则提示字符串在展开后会进行变量和参数
    扩展。默认情况下启用此选项。

restricted_shell
    如果在受限模式下启动,shell会设置此选项。
    该值不能更改。
    当启动文件执行时,这不会重置,允许启动文件发现shell是否受到限制。

shift_verbose
    如果设置了此项,则shift当
    移位计数超过位置参数的数量时,内置程序会输出错误消息

sourcepath
    如果设置,source内置命令使用值PATH 
    来查找包含作为参数提供的文件的目录。
    默认情况下启用此选项。

xpg_echo
   如果设置,echo内置函数会
   默认扩展反斜杠转义序列。

`shopt’ 是BASH内置命令。

shopt 命令实例:

linux命令:shopt -s cdspell cdspell -s shopt shopt -s cdspellrootopen.com
linux命令:shopt -s cdspell cdspell -s shopt shopt -s cdspellrootopen.com
2018-05-14 04:23:48

linux命令:shopt -s nocaseglob nocaseglob -s shopt shopt -s nocaseglobrootopen.com
linux命令:shopt -s nocaseglob nocaseglob -s shopt shopt -s nocaseglobrootopen.com
2018-05-25 00:03:48

linux命令:shopt -s histappend histappend -s shopt shopt -s histappendrootopen.com
linux命令:shopt -s histappend histappend -s shopt shopt -s histappendrootopen.com
2018-03-12 11:03:48

linux命令:shopt -s globstar globstar -s shopt shopt -s globstarrootopen.com
linux命令:shopt -s globstar globstar -s shopt shopt -s globstarrootopen.com
2018-01-27 16:55:48

linux命令:shopt -s checkwinsize checkwinsize -s shopt shopt -s checkwinsizerootopen.com
linux命令:shopt -s checkwinsize checkwinsize -s shopt shopt -s checkwinsizerootopen.com
2018-01-19 11:32:48

linux命令:shopt -s dotglob dotglob -s shopt shopt -s dotglobrootopen.com
linux命令:shopt -s dotglob dotglob -s shopt shopt -s dotglobrootopen.com
2018-02-10 21:58:48

linux命令:shopt -s cdable_vars cdable_vars -s shopt shopt -s cdable_varsrootopen.com
linux命令:shopt -s cdable_vars cdable_vars -s shopt shopt -s cdable_varsrootopen.com
2018-02-05 09:58:48

linux命令:shopt -s extglob; for f in *.ttf *.TTF; do g=$(showttf "$f" 2>/dev/null | grep -A1 "language=0.*FullName" | tail -1 | rev | cut -f1 | rev); g=${g##+( )}; mv -i "$f" "$g".ttf; done done "$g".ttf; "$f" -i mv )}; g=${g##+( rev); | -f1 cut | rev | -1 tail | "language=0.*FullName" -A1 grep | 2>/dev/null "$f" g=$(showttf do *.TTF; *.ttf in f for extglob; -s shopt shopt -s extglob; for f in *.ttf *.TTF; do g=$(showttf "$f" 2>/dev/null | grep -A1 "language=0.*FullName" | tail -1 | rev | cut -f1 | rev); g=${g##+( )}; mv -i "$f" "$g".ttf; donerootopen.com
linux命令:shopt -s extglob; for f in *.ttf *.TTF; do g=$(showttf "$f" 2>/dev/null | grep -A1 "language=0.*FullName" | tail -1 | rev | cut -f1 | rev); g=${g##+( )}; mv -i "$f" "$g".ttf; done done "$g".ttf; "$f" -i mv )}; g=${g##+( rev); | -f1 cut | rev | -1 tail | "language=0.*FullName" -A1 grep | 2>/dev/null "$f" g=$(showttf do *.TTF; *.ttf in f for extglob; -s shopt shopt -s extglob; for f in *.ttf *.TTF; do g=$(showttf "$f" 2>/dev/null | grep -A1 "language=0.*FullName" | tail -1 | rev | cut -f1 | rev); g=${g##+( )}; mv -i "$f" "$g".ttf; donerootopen.com
2018-02-13 15:00:48

linux命令:shopt -s globstar ; rm -f **/cscope.out **/cscope.out -f rm ; globstar -s shopt shopt -s globstar ; rm -f **/cscope.outrootopen.com
linux命令:shopt -s globstar ; rm -f **/cscope.out **/cscope.out -f rm ; globstar -s shopt shopt -s globstar ; rm -f **/cscope.outrootopen.com
2018-06-02 08:58:48

linux命令:shopt -s autocd autocd -s shopt shopt -s autocdrootopen.com
linux命令:shopt -s autocd autocd -s shopt shopt -s autocdrootopen.com
2018-02-03 17:01:48

linux命令:shopt -s globstar; rm -rfv **/.svn **/.svn -rfv rm globstar; -s shopt shopt -s globstar; rm -rfv **/.svnrootopen.com
linux命令:shopt -s globstar; rm -rfv **/.svn **/.svn -rfv rm globstar; -s shopt shopt -s globstar; rm -rfv **/.svnrootopen.com
2018-02-26 12:17:48

linux命令:shopt -s nullglob; for i in $(find "Your/file/system" -name "*.pdf"); do e="$(dirname $i)/$(basename $i '.pdf').png"; gs -sDEVICE=png16m -q -dPDFFitPage -g492x380 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dNOSUBSTDEVICECOLORS -o $e $i; done done $i; $e -o -dNOSUBSTDEVICECOLORS -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -g492x380 -dPDFFitPage -q -sDEVICE=png16m gs '.pdf').png"; $i $i)/$(basename e="$(dirname do "*.pdf"); -name "Your/file/system" $(find in i for nullglob; -s shopt shopt -s nullglob; for i in $(find "Your/file/system" -name "*.pdf"); do e="$(dirname $i)/$(basename $i '.pdf').png"; gs -sDEVICE=png16m -q -dPDFFitPage -g492x380 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dNOSUBSTDEVICECOLORS -o $e $i; donerootopen.com
linux命令:shopt -s nullglob; for i in $(find "Your/file/system" -name "*.pdf"); do e="$(dirname $i)/$(basename $i '.pdf').png"; gs -sDEVICE=png16m -q -dPDFFitPage -g492x380 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dNOSUBSTDEVICECOLORS -o $e $i; done done $i; $e -o -dNOSUBSTDEVICECOLORS -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -g492x380 -dPDFFitPage -q -sDEVICE=png16m gs '.pdf').png"; $i $i)/$(basename e="$(dirname do "*.pdf"); -name "Your/file/system" $(find in i for nullglob; -s shopt shopt -s nullglob; for i in $(find "Your/file/system" -name "*.pdf"); do e="$(dirname $i)/$(basename $i '.pdf').png"; gs -sDEVICE=png16m -q -dPDFFitPage -g492x380 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dNOSUBSTDEVICECOLORS -o $e $i; donerootopen.com
2018-05-27 16:40:48

linux命令:shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND" -a;$PROMPT_COMMAND" PROMPT_COMMAND="history ; histappend -s shopt shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND"rootopen.com
linux命令:shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND" -a;$PROMPT_COMMAND" PROMPT_COMMAND="history ; histappend -s shopt shopt -s histappend ; PROMPT_COMMAND="history -a;$PROMPT_COMMAND"rootopen.com
2018-02-27 18:27:48

linux命令:shopt -s histverify histverify -s shopt shopt -s histverifyrootopen.com
linux命令:shopt -s histverify histverify -s shopt shopt -s histverifyrootopen.com
2018-05-20 20:36:48

linux命令:shopt -s autocd autocd -s shopt shopt -s autocdrootopen.com
linux命令:shopt -s autocd autocd -s shopt shopt -s autocdrootopen.com
2018-02-08 03:42:48

linux命令:shopt -s cdspell cdspell -s shopt shopt -s cdspellrootopen.com
linux命令:shopt -s cdspell cdspell -s shopt shopt -s cdspellrootopen.com
2018-02-14 07:12:48

linux命令:shopt-set() ... func to long, please refer to description description to refer please long, to func ... shopt-set() shopt-set() ... func to long, please refer to descriptionrootopen.com
linux命令:shopt-set() ... func to long, please refer to description description to refer please long, to func ... shopt-set() shopt-set() ... func to long, please refer to descriptionrootopen.com
2018-04-24 05:49:48

Linux的Bash命令行(A-Z排序)