xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

Linux set command All In One

Linux set command All In One

set -eux

$ set -eux
# -e  若指令传回值不等于0,则立即退出shell。
# -u  当执行时使用到未定义过的变量,则显示错误信息。
# -x  执行指令后,会先显示该指令及所下的参数。

$ man set

$ set --help
set: set [--abefhkmnptuvxBCHP] [-o 选项名] [--] [参数 ...]
    设定或取消设定 shell 选项和位置参数的值。
    
    改变 shell 选项和位置参数的值,或者显示 shell 变量的
    名称和值。
    
    选项:
      -a  标记修改的或者创建的变量为导出。
      -b  立即通告任务终结。
      -e  如果一个命令以非零状态退出,则立即退出。
      -f  禁用文件名生成(模式匹配)。
      -h  当查询命令时记住它们的位置
      -k  所有的赋值参数被放在命令的环境中,而不仅仅是
          命令名称之前的参数。
      -m  启用任务控制。
      -n  读取命令但不执行
      -o 选项名
          设定与选项名对应的变量:
              allexport    与 -a 相同
              braceexpand  与 -B 相同
              emacs       使用 emacs 风格的行编辑界面
              errexit      与 -e 相同
              errtrace     与 -E 相同
              functrace    与 -T 相同
              hashall      与 -h 相同
              histexpand   与 -H 相同
              history      启用命令历史
              ignoreeof    shell 读取文件结束符时不会退出
              interactive-comments
                           允许在交互式命令中显示注释
              keyword      与 -k 相同
              monitor      与 -m 相同
              noclobber    与 -C 相同
              noexec       与 -n 相同
              noglob       与 -f 相同
              nolog        目前可接受但是被忽略
              notify       与 -b 相同
              nounset      与 -u 相同
              onecmd       与 -t 相同
              physical     与 -P 相同
              pipefail     管道的返回值是最后一个非零返回值的命令的返回结果,
                           或者当所有命令都返回零是也为零。
              posix        改变默认时和 Posix 标准不同的 bash 行为
                           以匹配标准
              privileged   与 -p 相同
              verbose      与 -v 相同
              vi           使用 vi 风格的行编辑界面
              xtrace       与 -x 相同
      -p  无论何时当真实的有效的用户身份不匹配时打开。
          禁用对 $ENV 文件的处理以及导入 shell 函数。
          关闭此选项会导致有效的用户编号和组编号设定
          为真实的用户编号和组编号
      -t  读取并执行一个命令之后退出。
      -u  替换时将为设定的变量当作错误对待。
      -v  读取 shell 输入行时将它们打印。
      -x  执行命令时打印它们以及参数。
      -B  shell 将执行花括号扩展。
      -C  设定之后禁止以重定向输出的方式覆盖常
          规文件。
      -E  设定之后 ERR 陷阱会被 shell 函数继承。
      -H  启用 ! 风格的历史替换。当 shell 是交互式的
          时候这个标识位默认打开。
      -P  设定之后类似 cd 的会改变当前目录的命令不
          追踪符号链接。
      -T  设定之后 DEBUG 陷阱会被 shell 函数继承。
      --  任何剩余的参数会被赋值给位置参数。如果没
          有剩余的参数,位置参数不会被设置。
      -   任何剩余的参数会被赋值给位置参数。
          -x 和 -v 选项已关闭。
    
    使用 + 而不是 - 会使标志位被关闭。标志位也可以在
    shell 被启动时使用。当前的标志位设定可以在 $- 变
    量中找到。剩余的 ARG 参数是位置参数并且是按照
    $1, $2, .. $n 的顺序被赋值的。如果没有给定 ARG
    参数,则打印所有的 shell 变量。
    
    退出状态:
    返回成功除非使用了无效的参数。

Linux set命令用于设置shell

set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。

# 参数说明:

-a  标示已修改的变量,以供输出至环境变量。
-b  使被中止的后台程序立刻回报执行状态。
-C  转向所产生的文件无法覆盖已存在的文件。
-d  Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e  若指令传回值不等于0,则立即退出shell。
-f   取消使用通配符。
-h  自动记录函数的所在位置。
-H Shell  可利用"!"加<指令编号>的方式来执行history中记录的指令。
-k  指令所给的参数都会被视为此指令的环境变量。
-l  记录for循环的变量名称。
-m  使用监视模式。
-n  只读取指令,而不实际执行。
-p  启动优先顺序模式。
-P  启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t  执行完随后的指令,即退出shell。
-u  当执行时使用到未定义过的变量,则显示错误信息。
-v  显示shell所读取的输入值。
-x  执行指令后,会先显示该指令及所下的参数。
+<参数>  取消某个set曾启动的参数。

refs

https://www.runoob.com/linux/linux-comm-set.html



©xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2021-11-11 20:45  xgqfrms  阅读(36)  评论(2编辑  收藏  举报