本文共 4766 字,大约阅读时间需要 15 分钟。
00. 目录
文章目录
01. 命令概述
shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。
02. 命令格式
用法:shopt [-pqsu] [-o] [选项名 ...]
03. 常用选项
选项: -o 限制 OPTNAME 为定义用于`set -o' 的选项 -p 打印每个 shell 选项并标注它的状态。 -q 抑制输出 -s 启用(设定)每个 OPTNAME 选项 -u 禁用(反设定)每个 OPTNAME 选项
04. 参考示例
4.1 显示当前所有可以设置的shell操作选项
[deng@localhost ~]$ shoptautocd offcdable_vars offcdspell offcheckhash offcheckjobs offcheckwinsize oncmdhist oncompat31 offcompat32 offcompat40 offcompat41 offdirexpand offdirspell offdotglob offexecfail offexpand_aliases onextdebug offextglob onextquote onfailglob offforce_fignore onglobstar offgnu_errfmt offhistappend onhistreedit offhistverify offhostcomplete offhuponexit offinteractive_comments onlastpipe offlithist offlogin_shell onmailwarn offno_empty_cmd_completion offnocaseglob offnocasematch offnullglob offprogcomp onpromptvars onrestricted_shell offshift_verbose offsourcepath onxpg_echo off[deng@localhost ~]$
4.2 显示所有的配置选项
[root@localhost ~]# shopt -pshopt -u autocdshopt -u cdable_varsshopt -u cdspellshopt -u checkhashshopt -u checkjobsshopt -s checkwinsizeshopt -s cmdhistshopt -u compat31shopt -u compat32shopt -u compat40shopt -u compat41shopt -u direxpandshopt -u dirspellshopt -u dotglobshopt -u execfailshopt -s expand_aliasesshopt -u extdebugshopt -s extglobshopt -s extquoteshopt -u failglobshopt -s force_fignoreshopt -u globstarshopt -u gnu_errfmtshopt -s histappendshopt -u histreeditshopt -u histverifyshopt -u hostcompleteshopt -u huponexitshopt -s interactive_commentsshopt -u lastpipeshopt -u lithistshopt -s login_shellshopt -u mailwarnshopt -u no_empty_cmd_completionshopt -u nocaseglobshopt -u nocasematchshopt -u nullglobshopt -s progcompshopt -s promptvarsshopt -u restricted_shellshopt -u shift_verboseshopt -s sourcepathshopt -u xpg_echo[root@localhost ~]#
4.3 查看打开的配置选项
[root@localhost ~]# shopt -scheckwinsize oncmdhist onexpand_aliases onextglob onextquote onforce_fignore onhistappend oninteractive_comments onlogin_shell onprogcomp onpromptvars onsourcepath on[root@localhost ~]#
4.4 查看关闭的配置选项
[root@localhost ~]# shopt -uautocd offcdable_vars offcdspell offcheckhash offcheckjobs offcompat31 offcompat32 offcompat40 offcompat41 offdirexpand offdirspell offdotglob offexecfail offextdebug offfailglob offglobstar offgnu_errfmt offhistreedit offhistverify offhostcomplete offhuponexit offlastpipe offlithist offmailwarn offno_empty_cmd_completion offnocaseglob offnocasematch offnullglob offrestricted_shell offshift_verbose offxpg_echo off[root@localhost ~]#
4.5 开启cd拼写检查
[root@localhost ~]# shopt -s cdspell[root@localhost ~]# shopt | grep cdspellcdspell on[root@localhost ~]#
4.6 打印cdspell设置
[root@localhost ~]# shopt -p cdspellshopt -s cdspell[root@localhost ~]#
4.7 禁用cd拼写检查
[root@localhost ~]# shopt -u cdspell [root@localhost ~]# shopt | grep cdspellcdspell off[root@localhost ~]#
05. 参数说明
cdable_vars :
如果给cd内置命令的参数不是一个目录,就假设它是一个变量名,变量的值是将要转换到的目录
cdspell :
纠正cd命令中目录名的较小拼写错误.检查的错误包括颠倒顺序的字符,遗漏的字符以及重复的字符.如果找到一处需修改之处,正确的路径将打印出,命令将继续.只用于交互式shell
checkhash :
bash在试图执行一个命令前,先在哈希表中寻找,以确定命令是否存在.如果命令不存在,就执行正常的路径搜索
checkwinsize :
bash在每个命令后检查窗口大小,如果有必要,就更新LINES和COLUMNS的值
cmdhist :
bash试图将一个多行命令的所有行保存在同一个历史项中.这是的多行命令的重新编辑更方便
dotglob :
Bash在文件名扩展的结果中包括以点(.)开头的文件名
execfail :
如果一个非交互式shell不能执行指定给exec内置命令作为参数的文件,它不会退出.如果exec失败,一个交互式shell不会退出
expand_aliases :
别名被扩展.缺省为打开
extglob :
打开扩展的模式匹配特性(正常的表达式元字符来自Korn shell的文件名扩展)
histappend :
如果readline正被使用,用户有机会重新编辑一个失败的历史替换
histverify :
如果设置,且readline正被使用,历史替换的结果不会立即传递给shell解释器.而是将结果行装入readline编辑缓冲区中,允许进一步修改
hostcomplete :
如果设置,且readline正被使用,当正在完成一个包含@的词时bash将试图执行主机名补全.缺省为打开
huponexit :
如果设置,当一个交互式登录shell退出时,bash将发送一个SIGHUP(挂起信号)给所有的作业
interactive_comments :
在一个交互式shell中.允许以#开头的词以及同一行中其他的字符被忽略.缺省为打开
lithist :
如果打开,且cmdhist选项也打开,多行命令讲用嵌入的换行符保存到历史中,而无需在可能的地方用分号来分隔
mailwarn :
如果设置,且bash用来检查邮件的文件自从上次检查后已经被访问,将显示消息”The mail in mailfile has been read”
nocaseglob :
如果设置,当执行文件名扩展时,bash在不区分大小写的方式下匹配文件名
nullglob:
如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是他们本身
promptvars :
如果设置,提示串在被扩展后再进行变量和参量扩展.缺省为打开
restricted_shell :
如果shell在受限模式下启动就设置这个选项.该值不能被改变.当执行启动文件时不能复位该选项,允许启动文件发现shell是否受限
shift_verbose :
如果该选项设置,当移动计数超出位置参量个数时,shift内置命令将打印一个错误消息
sourcepath :
如果设置,source内置命令使用PATH的值来寻找作为参数提供的文件的目录.缺省为打开
source :
点(.)的同义词
06. 附录
参考:
转载地址:https://dengjin.blog.csdn.net/article/details/100566309 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!