bash - 在Bash中,shell 有一个 try CATCH命令

  显示原文与译文双语对照的内容
55 3

我正在写一个 shell script,需要检查终端应用程序是否已经安装。 我想使用 try/catch 命令来完成这个任务,除非有更简洁的方法。

时间: 原作者:

53 4

Bash中是否有尝试捕捉命令?

没有

Bash没有许多编程语言所能找到的奢华。

bash中没有 try/catch ;但是,可以使用 && 或者 || 实现类似的行为。

使用 ||:

如果 command1 失败,command2 运行如下


command1 || command2



类似地,使用 &&,如果 command1 成功,command2 将运行

最接近的try/catch 近似如下


{ # try



 command1 &&


 #save your output



} || { # catch


 # save log for exception 


}



bash也包含了一些错误处理机制

 
set -e



 

如果简单命令失败,它将立即停止你的脚本。 我认为这应该是默认的行为。 由于这些错误几乎总是表示意外的事情,所以执行以下命令并不是真正的'理智'。

为什么不 if...else 。 是你最好的朋友。

原作者:
...