set命令

set命令

功能:设置shell脚本的选项和位置参数的值,同时改变其运行环境,该环境是执行脚本的那个shell环境,其作用范围是本地,即当前用户的当前shell。

            改变shell的属性值和位置参数的值或者展示shell变量的名字和值。其影响的shell是执行set命令的shell。

-a: 为export标记修改或者创建的变量

-b:后台进程结束,立刻通知

-e:如果一个命令以非0状态退出,则立刻退出

-f:禁止使用通配符作为文件名扩展

-h:记录命令的位置

-k:为命令把关键词参数放置在环境中(即将参数值放置在执行该命令的shell环境中)

-m:开启job控制

-n:读取命令,但是不执行命令

-o:选项名

根据选项名来设置set命令的特性

 allexport    same as -a
              braceexpand  same as -B
              emacs        use an emacs-style line editing interface
              errexit      same as -e
              errtrace     same as -E
              functrace    same as -T
              hashall      same as -h
              histexpand   same as -H
              history      enable command history
              ignoreeof    the shell will not exit upon reading EOF
              interactive-comments
                           allow comments to appear in interactive commands
              keyword      same as -k
              monitor      same as -m
              noclobber    same as -C
              noexec       same as -n
              noglob       same as -f
              nolog        currently accepted but ignored
              notify       same as -b
              nounset      same as -u
              onecmd       same as -t
              physical     same as -P
              pipefail     the return value of a pipeline is the status of
                           the last command to exit with a non-zero status,
                           or zero if no command exited with a non-zero status
              posix        change the behavior of bash where the default
                           operation differs from the Posix standard to
                           match the standard
              privileged   same as -p
              verbose      same as -v
              vi           use a vi-style line editing interface
              xtrace       same as -x

-p(小写):在此模式,$ENV文件被处理,不能从环境中继承 ,

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

-t:读取命令并执行之后就退出。

-u:对待非可选选项时,如果是一个unset var,也就是说这不是一个内部提前设置的变量,则当做错误来处理,会报错。

-v:当输入行被读取时,打印shell输入行

-x:当命令执行时,打印他们的参数

-B:shell允许花括号扩展,默认开启

-C:如果一个文件已存在,则在使用重定向时不会被覆盖 。

-E:由shell函数继承ERR陷阱

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

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

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

-T:DEBUG和RETURN陷阱由shell函数继承

--:分配任何保留的参数到位置参数上。如果不存在保留参数,位置参数就不会被设置。

-:分配任意的保留参数给位置参数。-x和-v选项被关闭。

注意:使用+而不是-关闭这些选项。尽量使用-o的形式来表达选项意义,方便阅读,而不是采用简写的选项。

只要参数合法,都会返回成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值