shell脚本中set指令
set -x介绍
⽤于脚本调试,在liunx脚本中可⽤set -x就可有详细的⽇志输出.免的总是⽤echo了
参考
竹子实际上是#!/bin/bash
set -x
a=${1}
b=$
结果
bash This is a premium name 1 2
+ a=1
+ b=1
爱奇艺首席会员推荐官set -e介绍
每个脚本都应该在⽂件开头加上set -e,这句语句告诉bash如果任何语句的执⾏结果不是true则应该退出。这样的好处是防⽌错误像滚雪球般变⼤导致⼀个致命的错误,⽽这些错误本应该在之前就被处理掉。如果要增加可读性,可以使⽤set -o errexit,它的作⽤与set -e相同。
参考
#!/bin/bash
set-e
lp #这⾥运⾏会出错
date
这种情况下,运⾏⼀旦出错就会退出,不放过⼀个问题:
$ ./test.sh
lp: Error - nodefaultdestination available.
当然了,这也有不好的地⽅,有时候命令执⾏本来就可能是失败的,你还是希望它继续,可以临时加上|| true:
七夕节祝福#!/bin/bash
鼓励孩子继续努力的话安装地暖要多少钱set-e
lp || true
date
不过个⼈觉得这样的设置⽤处不是特别⼤,因为很多时候就是需要处理不同的错误情况,⽽这样只能要么遇到错误退出,要么认为正确,导致⽆法⾛到异常分⽀。
使⽤-e帮助你检查错误。如果你忘记检查,bash会帮你执⾏。不幸的是,你将⽆法检查$?,因为如果执⾏的语句不是返回0,bash将⽆法执⾏到检查的代码。你可以使⽤其他的结构:
if [ "$?"-ne 0]; then
天津婚礼echo "command failed";
exit 1;
fi
could be replaced with
能够被代替为
command || { echo "command failed"; exit 1; }
或者
if ! command; then
echo "command failed";
exit 1;
fi
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论