bash:测试命令中的复合表达式



bash中执行以下操作的正确方法是什么:

[ -x /path/to/file ] || multiple_actions

其中multiple_actions包括例如打印一些消息和exit 1

我试着这样做:

[ -x /path/to/file ] || echo Can't execute file; exit 1

它是有效的,但是我不确定这样做是否正确?可能存在一些潜在的隐藏错误?

你所尝试的并不能达到你想要的效果。它总是以状态1退出。使用if命令:

if ! [ -x ... ]; then this; that; fi

{}复合命令:

[ -x ... ] || { this; that; }

最新更新