私はシェルスクリプトが多いPHPとC言語で書かれたアプリケーションを開発していると言いました。 PHPコードはシェルスクリプトを呼び出してこの行を実行します。
ssh -x $user@$host '. /sh/pre.sh '"$user"' PRE; $EXE/cmd.com'" $fi $fi1 $fi2"
このファイルpre.sh
にはすべての環境変数が含まれています。
端末でこのコマンドを実行すると機能します。しかし、PHPコードから呼び出すと127が返されます。質問がありますか?
. /sh/pre.sh
$EXE/cmd.comを/usr/exe/cmd.comに変更しましたが、正常に動作しました。値が$EXE
含まれているので、すべての環境変数をエクスポートするために使用されるようです。pre.sh
もう1つの質問は以前にシェルスクリプトを使用したことがありませんが、このコマンドは現在サーバー上で実行されますか、または$ host cmd.comサーバー上で実行されますか?