ユーザー入力が必要なシェル スクリプトがあります (「Y/N を選択してください:」など)。
これをWebページから実行したいと思います。
どうすればこれを行うことができるかについてのアイデアはありますか? 私はphp shell_exec ...を試しましたが、コマンドを実行するだけで、入力を求めません。
これが可能かどうかはわかりません...しかし、どんな助けでも大歓迎です。
乾杯
これを行う唯一の方法は、CLI ツールの構成部分を HTML 形式で再作成することです。
<form method="POST" action="/foo.php">
Please select:
<input type="radio" name="yesno" value="1">yes
<input type="radio" name="yesno" value="0">no
Some other option:
<input type="text" name"someoption">
</form>
foo.php
その後、HEREDOC で入力部分を処理するを作成する必要があります。
<?php
$aData = some_validation_and_data_preparation_method($_POST);
$sCmd = implode("\n", $aData);
$sOutput = shell_exec("./some_cli_tool << EOF
{$sCmd}
EOF");
print $sOutput;
実際の HEREDOC (つまり、EOF
マーカー間) にインデントがないことに注意してください。
enter code here
スクリプトをチェックして、ユーザー入力なしでスクリプトを強制的に実行するフラグがあるかどうかを確認します。通常、次のように記述してヘルプを表示できます。
yourscript /h
また
yourscript --help
そのためのフラグがあるかもしれません。ヘルプで「強制」または「プロンプト」に関する情報を探してください。利用できない場合は、Linux/Unix 環境を使用している場合は、入力を他のスクリプトに送信する新しいスクリプトを作成できます。ただし、それがWindowsで機能するかどうかは不明です。
非常に簡単な例を次に示します。
echo y | yourscript