shell_21.Linux退出脚本

1.查看退出状态码
按照惯例,对于成功结束的命令,其退出状态码是 0。对于因错误而结束的命令,其退出状态码是一个正整数:

$ date 
Mon Jun 01 16:01:30 EDT 2020 
$ echo $? 
0 
$

$ asdfg 
-bash: asdfg: command not found
$ echo $? 
127 
$

Linux 退出状态码

0           命令成功结束
1           一般性未知错误
2           不适合的 shell 命令
126         命令无法执行
127         没找到命令
128         无效的退出参数
128+x       与 Linux 信号 x 相关的严重错误
130         通过 Ctrl+C 终止的命令
255         正常范围之外的退出状态码

exit 命令
exit 命令允许在脚本结束时指定一个退出状态码:

$ cat test13 
#!/bin/bash 
# testing the exit status 
var1=10 
var2=30 
var3=$[ $var1 + $var2 ] 
echo The answer is $var3 
exit 5 
$
$ chmod u+x test13 
$ ./test13 
The answer is 40 
$ echo $? 
5 
$

也可以使用变量作为 exit 命令的参数:

$ cat test14 
#!/bin/bash 
# testing the exit status 
var1=10 
var2=30 
var3=$[ $var1 + $var2 ] 
exit $var3 
$ 


运行这个脚本时,会产生如下退出状态码:

$ chmod u+x test14 
$ ./test14 
$ echo $? 
40 
$

使用这个功能时要小心,因为退出状态码最大只能是 255。来看下面这个例子:

$ cat test14b 
#!/bin/bash 
# testing the exit status 
var1=10 
var2=30 
var3=$[ $var1 * $var2 ] 
echo The value is $var3 
exit $var3 
$ 


现在运行它会得到如下输出:

$ ./test14b 
The value is 300 
$ echo $? 
44 
$

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微辣已是极限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值