我正在尝试执行像这样的管道shell命令
set -o pipefail&& command1 | command2 |指令代码
来自PHP脚本。 set -o pipefail
部分是在任何命令失败后立即使管道中断。但命令导致:
sh:1:set:非法选项-o pipefail
虽然从终端运行良好。也许在执行shell命令时明确指定PHP CLI应该使用哪个shell(即bin/bash
)可以解决问题还是有更好的出路?
答案 0 :(得分:2)
您可以随时运行bash -c 'set -o pipefail && command1 | command2 | command3'
。
答案 1 :(得分:1)
你可以通过
找到它echo `echo $SHELL`;