linux set o,Linux Set 和 shopt 命令

用set命令可以设置各种shell选项或者列 出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命 令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture.

当shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中($1,$2,...,$n)

set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]

选项 说明

-a 自动向已经修改的变量或为导出后序命令的变量作出标志

-b 不是在原提示符之前,而是立即引发终止后台任务的状态表表

-e 如果命令带非零值返回,立即退出

-f 禁止带扩展名的路径

-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询函数命令

-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放在环境命令中

-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后台进程以单独的进程组运行,在每次完成任务时显示包含退出的状态行

-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互shell被忽略

-o option-name 选项名可以是下列之一:

选项 说明

allexport 同-a选项

braceexpand shell执行花括号扩展,在默认情况下起作用

emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing选项启动,否则当shell交互时,通过默认启动该选项

errexit 同-e选项

histexpand 同-H选项

ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行

interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符-commands

monitor 同-m选项

noclobber 同-C选项

noexec 同-n选项

noglob 同-f选项

nohash 同-d选项

notify 同-b选项

nounset 同-u选项

physical 同-p选项

posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准

verbose 同-v选项

vi 使用vi风格的命令行编辑器

XTRACE 同-x选项,如果没有给出选项名,显示当前选项值

set -o 显示当前的set所有选项的值

set +o显示设置set当前所有值的命令

-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承

shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭此选项将使得有效用户和组IDs设置实用户和组IDs)

-t 在读取命令并执行之后退出

-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图出现在非设置变量中,shell显示错误信息.如果不是交互式,则带非凌值退出)

-v 输入行被读取时,显示shell输入行

-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令

-l 保存和恢复绑定在命令中的名称

-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到就不再继续查找)

-C 效果好像是执行了noclobber=shell命令

-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)

-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是使用实际的目录

如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a选项开始,也要把位置参数设置为argument- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v选项被关闭.如果没有argument,位置参数将保留未改变的参数)

set命令可以用来定制shell环境,使用选项“o”来打开或者关闭选项。例如打开选项:set -o 选项,关闭选项目:set +o 选项。

例如要打开vi交互式命令行编辑,则如下:

[root@localhost ~]# set -o #查看当前设置情况

allexport off

braceexpand on

emacs on

errexit off

errtrace off

functrace off

hashall on

histexpand on

history on

ignoreeof off

interactive-comments on

keyword off

monitor on

noclobber off

noexec off

noglob off

nolog off

notify off

nounset off

onecmd off

physical off

pipefail off

posix off

privileged off

verbose off

vi off #关闭中

xtrace off

[root@localhost ~]# set -o vi #把vi选项打开

[root@localhost ~]# set -o #查看当前设置情况

allexport off

braceexpand on

emacs off

errexit off

errtrace off

functrace off

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值