shell中打印命令执行的返回状态

shell脚本文件中有时候需要依据命令执行的结果状态决定整个shell脚本文件的执行路径。

一个简单的需求就是:判断某个文件中是否存在某一行内容,存在则不做任何操作,否则插入该行。

判断文件中是否存在某行,可以使用grep命令:grep  $line $file

如果$file中存在$line,grep执行返回的结果为0,如果不存在返回1,如果$file文件本身不存在返回2

我们可以通过下面的shell代码进行简单的验证:

#/bin/bash
grep "abc" filename
reval=$?
echo "grep return value: $reval"
exit 0


只要将以上shell文件中的grep "abc" filename替换成其它需要的命令,就可以在执行命令的最后打印出该命令执行的结果状态。

但是每次都要修改shell文件比较麻烦,我们可以借助“··”符号实现在终端窗口下直接测试,在未闭合“·”之前,命令是不会被执行的。

:~$ echo `
> grep "abc" filename
> reval=$?
> echo "grep return value: $reval"
> exit 0               
> `
grep: filename: No such file or directory
grep return value: 2
iie@haproxy091:~$ 
真如提示所示,为找到filename这个文件,所以grep执行返回2





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值