每个命令都会返回一个退出状态。脚本也一样,也可以在结束的时候返回一个状态值。
如果返回值为0,代表成功;返回一个非零值,通常会被认为是一个错误代码。
这个非零值错误代码必须是1-255的十进制整数。
在shell脚本中,使用命令exit给脚本退出返回一个状态值。
格式:exit n (n为0-255)
可以根据实际情况返回对应的代码值。
一个常见的小技巧,使用脚本中最后一个命令的执行结果作为脚本退出后的执行结果。
例如:
#!/bin/bash
echo hello
echo $? #上一个命令返回0,因为执行成功
kakaka
exit $? #kakaka命令不存在,因此一定是执行失败,返回值非零
这里要注意,代码不可写为 echo $? && exit $?
因为exit之前的echo $?执行时成功的,所以exit $?会返回0
true命令是shell内建命令,作用什么都不敢,脚本结束后返回0
如果想返回非零,那么可以“! true”来实现。
总结:
exit和true命令都可以控制退出时脚本的返回值,但是exit比较灵活,输出的值更丰富。true只能0或者1.