set常见参数

set指令非常有用,常见参数意义如下:

  • -x。在bash中输出所执行的指令,常用于调试
  • -e。常用于脚本,当脚本中某个指令返回不为0时,视为失败,退出脚本,不执行后续指令。在不设置-e参数时,系统默认会继续执行指令
  • -o errexit。等同于-e
  • set -o pipefail。常用于pipeline,当子命令通过管道运算符(|)组合成为一个大的命令。Bash 会把最后一个子命令的返回值,作为整个命令的返回值。也就是说,只要最后一个子命令不失败,管道命令总是会执行成功,因此它后面命令依然会执行。pipefail参数设置后,只要一个子命令失败,整个管道命令就失败。如果结合-e参数,整个bash脚本停止执行
  • -u。当执行脚本的时候,如果遇到不存在的变量,bash视为错误并退出。不设置-u的情况下,bash会忽略该变量,继续执行
  • -o vi。我比较喜欢的参数,把命令行当vi使用

帮助文档:

help set
man bash



发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About Me

一位程序员,会弹吉他,喜欢读诗。
有一颗感恩的心,一位美丽的妻子,两个可爱的女儿
mail: geraldlee0825@gmail.com
github: https://github.com/lisuxiaoqi
medium: https://medium.com/@geraldlee0825