1

私はこのようなパイプシェルコマンドを実行しようとしています

set -o pipefail && command1 | command2 | command3

PHPスクリプトから。そのset -o pipefail一部は、コマンドのいずれかが失敗するとすぐにパイプを壊すことです。しかし、コマンドの結果は次のようになります。

sh:1:設定:無効なオプション-o pipefail

一方、ターミナルからは正常に動作します。シェルコマンドを実行するときにどのシェルPHPCLIを使用するか(つまり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 に答える