1

我正在尝试执行这样的管道 shell 命令

set -o pipefail && command1 | 命令2 | 命令3

来自 PHP 脚本。部分是在set -o pipefail任何命令失败时立即使管道中断。但是命令会导致:

sh:1:设置:非法选项-o pipefail

而它从终端运行良好。也许在执行 shell 命令时明确指定应该使用哪个 shell PHP CLI(即bin/bash)可以解决问题,或者有更好的出路吗?

4

2 回答 2

2

您可以随时运行bash -c 'set -o pipefail && command1 | command2 | command3'

于 2012-11-24T19:27:11.867 回答
1

你可以通过做找到它

echo `echo $SHELL`;
于 2012-11-24T19:25:12.667 回答