嵌入式技术
有一说一,我之前还真不知道set命令这么好用,还傻呵呵地自己写函数做脚本阶段性判断,判断上一条命令是否有问题,有问题就直接退出脚本。
这在部署脚本里非常有必要,毕竟如果第一步执行不成功,后面的脚本就没有必要执行了。
大家可以看我这篇文章 “” 这里面就有个ch_ok函数。其实要是我早知道set命令的用法,我才不会自己写判断函数。
废话不多说,直接上重点:set命令的-e选项就有我写的那个ch_ok函数的功能。直接来一段代码看效果吧。
#! /bin/bash set -e echo "Hello, this is a test script." ls /tmp/aminglinux.com echo "123"执行该脚本后,结果为:
Hello, this is a test script. ls: 无法访问/tmp/aminglinux.com: 没有那个文件或目录如果不加第二行的set -e,则结果为:
Hello, this is a test script. ls: 无法访问/tmp/aminglinux.com: 没有那个文件或目录 123作用一目了然,set -e就是让脚本实现,一旦遇到错误马上退出脚本。
#!/bin/bash a=1 b=2 set -x c=3 d=4 e=$[$a+$b] f=$[$c*$d] echo $e set +x echo $f执行结果:
+ c=3 + d=4 + e=3 + f=12 + echo 3 3 + set +x 12说明:set -x表示开启x选项,set +x表示关闭x权限。
#!/bin/bashset -ua=1echo $becho $a执行脚本,会报错:
line 4: b: unbound variable如果去掉脚本里的set -u,再次执行脚本,结果是:
1
全部0条评论
快来发表一下你的评论吧 !