我試圖執行這樣找出哪些外殼PHP使用
集-o pipefail & & Command1的管道shell命令| command2 |命令3
來自PHP腳本。 set -o pipefail
部分是在任何命令失敗後立即使管道中斷。但命令的結果是:
SH:1:設置:非法選項-o pipefail
,而它運行從終端的罰款。在執行shell命令時,是否可以明確地指定哪個shell CLI應該使用(即bin/bash
)可以解決問題還是有更好的解決方法?
我試圖執行這樣找出哪些外殼PHP使用
集-o pipefail & & Command1的管道shell命令| command2 |命令3
來自PHP腳本。 set -o pipefail
部分是在任何命令失敗後立即使管道中斷。但命令的結果是:
SH:1:設置:非法選項-o pipefail
,而它運行從終端的罰款。在執行shell命令時,是否可以明確地指定哪個shell CLI應該使用(即bin/bash
)可以解決問題還是有更好的解決方法?
它找出來你總是可以運行bash -c 'set -o pipefail && command1 | command2 | command3'
代替。
沒錯,它的工作原理。不太優雅的解決方案 –
,你可以通過做
echo `echo $SHELL`;
也許從PHP運行'echo $ _SERVER [「SHELL」]'會更直接。 –
'php -v'會告訴你 –
@RPM Aww,它沒有。但是像'var_dump($ _ SERVER)'''這樣的東西..'' –