【BASH】出错时显示错误信息

 

问题:

你期望你的脚本显示尽量多的错误提示信息。你期望在某个命令失败的时候看到错误信息,不过你不希望改变原有的脚本流程(ps.增加if判断)

 

解决方案:

shell脚本程序员的一个惯用方法是使用'||'分隔命令和调试或错误信息,下面是一个例子:

cmd || printf "%b" "cmd failed. You're on your own/n"

 

讨论:

'&&'类似,'||'告诉shell在第一个命令执行成功的时候就不执行第二个表达式。'||'c语言中的逻辑运算是类似的—A or B。不过shell脚本汇总,当地一个命令返回0i.e.,成功)的时候就继续,只有当第一个命令返回非零值的时候,第二部分才会执行。

注意,不要被下面的形式猕猴:

cmd || printf "%b" "FAILED./n" ; exit 1

exit在两种情况下都会被执行。这个OR只是在'||'分隔的两个命令之间。如果你期望只有出错的时候退出,那么要将后面这两个语句用大括号包起来,如下:

cmd || { printf "%b" "FAILED./n" ; exit 1 ; }

由于bash的语法,exit后面的这个分号是必须的,并且最后的大括号必须使用空格分隔。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值