前言
本文主要给大家介绍了关于Shell中set与shopt命令选项含义与使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
set命令选项
set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可。
内置set命令选项
选项名
快捷开关
含义
allexport
-a
从这个选项中被设置开始就自动标明要输出的新变量或修改过的变量,直至选项被复位
braceexpand
-B
打开花括号扩展,它是一个默认设置
emacs
使用emacs内置编辑器进行命令行编辑,是一个默认设置
errexit
-e
当命令返回一个非零退出状态(失败)时退出。读取初始化文件时不设置
histexpand
-H
执行历史替换时打开!和!!扩展,是一个默认设置
history
打开命令行历史、默认为打开
ignoreeof
禁止用EOF(Ctrl+D)键退出shell。必须键入exit才能退出。等价于设置shell变量IGNOREEOF=10
keyword
-k
将关键字参数放到命令的环境中
interactive-comments
对于交互式shell,把#符后面的文本作为注释
monitor
-m
设置作业控制
noclobber
-C
防止文件在重定向时被重写
noexec
-n
读命令,但不执行。用来检查脚本的语法。交互式运行时不开启
noglob
-d
禁止用路径名扩展。即关闭通配符
notify
-b
后台作业完成时通知用户
nounset
-u
扩展一个未设置的变量时显示一个错误信息
onecmd
-t
在读取和执行命令后退出
physical
-P
设置时,在键入cd或pwd禁止符号链接。用物理目录代替
privileged
-p
设置后,shell不读取.profile或ENV文件,且不从环境继承shell函数,将自动为setuid脚本开启特权
verbose
-v
为调试打开verbose模式
vi
使用vi内置编辑器进行命令行编辑
xtrace
-x
为调试打开echo模式
shopt命令选项
shopt命令是set命令的一种替代,很多方面都和set命令一样,但它增加了很多选项。可有使用“-p”选项来查看shopt选项的设置。“-u”开关表示一个复位的选项,“-s”表示选项当前被设置。
shopt命令参数用法
选项
含义
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
点(.)的同义词
删除目录下除了filename之外的所有文件
下来列出了不同的扩展模式匹配操作符,这些模式列表是一个用 | 分割包含一个或者多个文件名的列表:
通配符
含义
*(模式列表)
匹配 0 个或者多个出现的指定模式
"htmlcode">
shopt -s extglob
删除目录下除了filename之外的所有文件
rm -v !("filename")
删除除了filename1和filename2之外的所有文件
rm -v !("filename1"|"filename2")
删除除了 .zip 之外的所有文件
rm -i !(*.zip)
关闭extglob shell选项
shopt -u extglob
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 《51首热门当红歌曲 十大顶级发烧女声 3CD》[WAV+CUE][1.6GB]
- 《赵传 深受摇滚迷青睐的台湾音乐人 约定》[WAV+CUE][320MB]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- [音展纪念碟]2006年《TAA台湾第十六届国际HI-ENDHI-FI音响展》2cd[WAV]
- 中国音乐地图之听见西藏山歌牧歌酒歌2020[WAV分轨]
- 王宏伟2017-永远的红飘带[太平洋影音][WAV+CUE]
- 费翔.1997-NOW现在【第一中国】【WAV+CUE】
- 新格合唱团.1981-我唱你和2辑(滚石新格民歌系列)【新格】【WAV+CUE】
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 雨果唱片-《金唛系列-蔷薇依韵琼瑶》WAV
- 陈百强《凝望(2012华纳LPCD45限量版)[DMI]》[WAV整轨]
- 模拟之声慢刻CD《徐小凤45周年》[德国母带][低速原抓WAV+CUE]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- 《王菲 单曲合集》[FlAC/分轨][520MB]