Shell脚本中的set指令,如set -x 和 set -e set指令能设置所使用shell的执行方式,根据不同需求调整。常用参数包括: -a 输出修改的变量至环境变量。 -b 立即报告后台程序执行状态。 -C 防止文件覆盖。 -d 取消指令加速的杂凑表使用。 -e 命令结果非零时立即退出shell。 -f 取消通配符使用。 -h 自动记录函数...
shell 脚本中 set -e选项的作用 set -e选项保证程序的每一步都执行正确,如果前面一部程序执行错误,则直接退出程序 001、 不加 set -e的情况 (base) [root@PC1 test2]# ls test.sh (base) [root@PC1 test2]#cat test.sh#!/bin/bash xxxx echo step2 (base) [root@PC1 test2]#bash test.shtest....
set -o pipefail:set -e对于含有管道的命令无效,加上个参数后,管道中任意命令出错都停止运行。 set -u: 遇到未定义变量或方法时,停止运行 set -x: 在每条命令执行前,输出命令原文 参数说明 可选参数及其说明如下: 重点参数 最常用的两个参数就是 -e 与 -x ,一般写在 shell 代码逻辑之前,这两个组合在一...
由于set -e的存在,脚本立即停止执行,“这个命令不会执行”不会被输出。 不使用set -e的情况 如果没有set -e,脚本会忽略cat命令的失败,继续执行后面的命令,输出这个命令不会执行,即使在某些情况下,这样做是不安全的。 总结 set -e的作用是使脚本在遇到错误时立即退出,从而增加脚本的健壮性,确保在每一步执行过...
set +e是在 Linux 或类 Unix 系统中 Bash shell 中的一个命令选项,其作用是取消先前设置的set -e(或等效的set -o errexit)选项的效果。具体来说: set -e(或set -o errexit)的作用: 当在脚本中启用set -e时,脚本进入“错误立即退出”模式。
set命令的-e参数,linux系统⾃带的说明是:"Exit immediately if a simple command exits with a non-zero status.",也就是说,在"set -e"之后出现的代码,⼀旦出现了返回值⾮零,整个脚本就会⽴即退出,那么就可以避免⼀些脚本的危险操作。实验如下:#!/bin/sh #set -e ls /data/leo echo $?...
$ set -e 这行代码之后的任何代码,如果返回一个非0的值,那么整个脚本立即退出,官方的说明是为了...
$ set -e 这行代码之后的任何代码,如果返回一个非0的值,那么整个脚本立即退出,官方的说明是为了防止错误出现滚雪球的现象 $ set -o pipefail 原文解释如下: If set, the return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status,or zero if all comm...
设置shell 选项:set命令可以用来设置或取消 shell 的某些特性。例如,-e选项表示当脚本中的任何命令返回非零状态时,立即退出脚本。可以通过set -e开启此选项,或者使用set +e关闭此选项。 打印当前 shell 的状态:set命令可以用来显示当前 shell 的状态,包括变量、函数、选项等。例如,set或set -o会显示当前 shell 的...
set -e介绍 每个脚本都应该在⽂件开头加上set -e,这句语句告诉bash如果任何语句的执⾏结果不是true则应该退出。这样的好处是防⽌错误像滚雪球般变⼤导致⼀个致命的错误,⽽这些错误本应该在之前就被处理掉。如果要增加可读性,可以使⽤set -o errexit,它的作⽤与set -e相同。参考 #!/bin/bash...