在故障状态方面,shell函数是否可以作为命令运行?

时间:2018-06-17 11:54:16

标签: linux shell scripting

对于可能因退出代码不为零而失败的executable,可以执行以下操作:

executable && echo "suceed" || echo "failure"

如何使用shell函数执行此操作?

myfunction() {
   executable arg1 arg2
}

myfunction && echo "succeed" || echo "failure"

1 个答案:

答案 0 :(得分:1)

来自the bash manual

  

执行时,函数的退出状态是正文中执行的最后一个命令的退出状态。

换句话说,shell函数的行为与您在问题中演示的完全一致。例如,给定:

myfunction() {
  false
}

运行:

myfunction && echo success || echo failed

结果:

failed

另一方面,如果我们有:

myfunction() {
  true
}

运行相同的命令将返回success