2012-11-24 36 views
1

我試圖執行這樣找出哪些外殼PHP使用

集-o pipefail & & Command1的管道shell命令| command2 |命令3

來自PHP腳本。 set -o pipefail部分是在任何命令失敗後立即使管道中斷。但命令的結果是:

SH:1:設置:非法選項-o pipefail

,而它運行從終端的罰款。在執行shell命令時,是否可以明確地指定哪個shell CLI應該使用(即bin/bash)可以解決問題還是有更好的解決方法?

+0

'php -v'會告訴你 –

+0

@RPM Aww,它沒有。但是像'var_dump($ _ SERVER)'''這樣的東西..'' –

回答

2

它找出來你總是可以運行bash -c 'set -o pipefail && command1 | command2 | command3'代替。

+0

沒錯,它的工作原理。不太優雅的解決方案 –

1

,你可以通過做

echo `echo $SHELL`; 
+0

也許從PHP運行'echo $ _SERVER [「SHELL」]'會更直接。 –