Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115108
  • 博文数量: 28
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 277
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-20 16:21
文章分类
文章存档

2019年(1)

2018年(2)

2017年(22)

2016年(3)

我的朋友

分类: 系统运维

2017-08-29 10:31:00

shopt命令是set命令的一种替代,很多方面都和set命令一样,但它增加了很多选项。可以使用“-p”选项来查看shopt选项的设置。“-u”开关表示一个复位的选项,“-s”表示选项当前被设置。


点击(此处)折叠或打开

  1. [root@localhost ~]# shopt -p #查看当前设置情况
  2. shopt -u cdable_vars
  3. shopt -u cdspell
  4. shopt -u checkhash
  5. shopt -s checkwinsize
  6. shopt -s cmdhist
  7. shopt -u dotglob
  8. shopt -u execfail
  9. shopt -s expand_aliases
  10. shopt -u extdebug
  11. shopt -u extglob
  12. shopt -s extquote
  13. shopt -u failglob
  14. shopt -s force_fignore
  15. shopt -u gnu_errfmt
  16. shopt -u histreedit
  17. shopt -u histappend
  18. shopt -u histverify
  19. shopt -s hostcomplete
  20. shopt -u huponexit
  21. shopt -s interactive_comments
  22. shopt -u lithist
  23. shopt -s login_shell
  24. shopt -u mailwarn
  25. shopt -u no_empty_cmd_completion
  26. shopt -u nocaseglob
  27. shopt -u nullglob
  28. shopt -s progcomp
  29. shopt -s promptvars
  30. shopt -u restricted_shell
  31. shopt -u shift_verbose
  32. shopt -s sourcepath
  33. shopt -u xpg_echo
  34. [root@localhost ~]# shopt -s cdspell #把cdspell选项打开
  35. [root@localhost ~]# shopt -p cdspell #打印cdspell设置
  36. shopt -s cdspell
  37. [root@localhost ~]# cd /raot #故意拼写错误
  38. /root
  39. [root@localhost ~]# pwd #查看当前目录
  40. /root
  41. [root@localhost ~]# cd /usr/loca/bin #故意拼写错误
  42. /usr/local/bin
  43. [root@localhost bin]# pwd #查看当前目录
  44. /usr/local/bin
  45. [root@localhost bin]# shopt -u cdspell #把cdspell选项打开
  46. [root@localhost bin]# shopt -p cdspell #打印cdspell设置
  47. shopt -u cdspell
  48. [root@localhost bin]# cd /raot #故意拼写错误
  49. -bash: cd: /raot: 没有那个文件或目录 #进入目录错误

选项 含义 
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  当shell退出时,历史清单将添加到以HISTFILE变量的值命名的文件中,而不是覆盖文件 
histreedit  如果readline正被使用,用户有机会重新编辑一个失败的历史替换 
histverify 如果设置,且readline正被使用,历史替换的结果不会立即传递给shell解析器。而是将结果行装入readline编辑缓冲区中,允许进一步修改 
hostcomplete  如果设置,且readine正被使用,当正在完成一个包含@的词时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是否是受限的 
sourcepath 如果设置,source内置命令使用PATH的值来寻找包含作为参数提供的文件的目录。默认为打开 
source  点(.)的同义词 
shift_verbose 如果该选项设置,当移动计数超过位置参量个数时,shift内置命令将打印一个错误消息 
阅读(1474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~