美文网首页
shell_set用法

shell_set用法

作者: _str_ | 来源:发表于2019-08-08 08:21 被阅读0次

    shell_set用法

    set -u

    当脚本中遇到未定义的变量时,默认是忽略 但有时侯并不是我们想要的
    假如有定义的变量,应该报错,并且终止脚本继续运行。
    set-u就可以办到
    示例

    #!/usr/bin/env bash
    set -u
    
    echo $a
    echo shark
    

    执行报错

    $ bash set.sh
    set.sh: line 13: a: unbound variable
    

    set -x

    这个是调试脚本使用的,可以看到每个执行的命令,和执行命令后的输出结果

    #!/usr/bin/env bash
    set -x
    
    echo shark
    

    bash -x set.sh相同的含义

    set -e

    脚本中有任何命令的返回值是非零,脚本则立即停止执行
    对管道的命令无效

    foo | echo shark
    

    foo 不是 shell 中的命令,执行会报错,但是其后面有个管道,最终管道后的 echo 命令执行成功了,这种情况下 脚本会继续执行。

    set -o pipefail

    如果设置,如果管道中的所有命令都成功退出,则返回零。 默认情况下禁用此选项

    相关文章

      网友评论

          本文标题:shell_set用法

          本文链接:https://www.haomeiwen.com/subject/zfjndctx.html