set -o pipefail:set -e对于含有管道的命令无效,加上个参数后,管道中任意命令出错都停止运行。 set -u: 遇到未定义变量或方法时,停止运行 set -x: 在每条命令执行前,输出命令原文 参数说明 可选参数及其说明如下: 重点参数 最常用的两个参数就是 -e 与 -x ,一般写在 shell 代码逻辑之前,这两个组合在一...
set +e是在 Linux 或类 Unix 系统中 Bash shell 中的一个命令选项,其作用是取消先前设置的set -e(或等效的set -o errexit)选项的效果。具体来说: set -e(或set -o errexit)的作用: 当在脚本中启用set -e时,脚本进入“错误立即退出”模式。 在此模式下,如果脚本中任意一条简单命令(即直接执行的命令,...
set -e是一个用于控制脚本行为的命令,它的作用是: 功能 当脚本运行时,set -e会确保一旦某个命令返回非零的退出状态(即执行失败),整个脚本会立即停止执行。这对于编写需要确保关键步骤成功完成的脚本非常有用,因为它可以防止脚本继续运行而不知某些步骤已失败。 详细解释 在Bash 脚本中,每个命令执行后都会返回一个...
在shell脚本中set命令就可以轻松实现。set命令的-e参数,linux系统自带的说明是:"Exit immediately if a simple command exits with a non-zero status.",也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出,那么就可以避免一些脚本的危险操作。 实验如下: #!/bin/sh#set-els/data...
Shell脚本中的set指令,如set -x 和 set -e set指令能设置所使用shell的执行方式,根据不同需求调整。常用参数包括:-a 输出修改的变量至环境变量。-b 立即报告后台程序执行状态。-C 防止文件覆盖。-d 取消指令加速的杂凑表使用。-e 命令结果非零时立即退出shell。-f 取消通配符使用。-h 自动记录...
$ set -e 这行代码之后的任何代码,如果返回一个非0的值,那么整个脚本立即退出,官方的说明是为了...
告诉bash 返回从右到左第一个以非0状态退出的管道命令的返回值,如果所有命令都成功执行时才返回0有用9 回复 依云: 我写shell 脚本,-e 选项几乎是必加的=w= 回复2013-09-02 阿蒙: @依云 官方的解释里面也说都应该加上:Every script you write should include set -e at the top. This tells bash th...
set-e lp #这⾥运⾏会出错 date 这种情况下,运⾏⼀旦出错就会退出,不放过⼀个问题:$ ./test.sh lp: Error - nodefaultdestination available.当然了,这也有不好的地⽅,有时候命令执⾏本来就可能是失败的,你还是希望它继续,可以临时加上|| true:#!/bin/bash set-e lp || true date ...
set -e #command set +e #other command 3、打印脚本执行过程 代码一定会遇到调试,而要想知道脚本运行时执行了那些命令,每条命令具体执行了什么,首先可以利用以下命令来执行脚本: sh -x test.sh 或者直接在脚本开头添加set -x: #!/bin/bash set -x ...
set -e foo echo "继续执行" [root@localhost ~]# sh set-e.sh set-e.sh:行5: foo: 未找到命令 执行报错如上:没有foo命令,并且脚本停止运行 注意: 对于一组含有管道的命令无效 [root@localhost ~]# vim set-e.sh [root@localhost ~]# cat set-e.sh ...