コマンドラインから.shに入力を提供する方法

コマンドラインから.shに入力を提供する方法

ユーザーには4つのオプションを表示するabc.shスクリプトがあり、そのうちの1つを選択する必要があります。最初は入力を1に設定しました。最初のオプションに3つのオプションが再び表示され、2番目のオプションとして1を選択する必要があります。これでドメイン名の入力を求められ、3番目のオプションとしてabc / abc @ xyzを提供する必要があります。これでENVの詳細を要求し、ENV_NOを提供する必要があります。このように、既存のスクリプトabc.shに4つの異なる入力を提供したいと思います。それでは、abc.shの単一コマンドで上記の入力をどのように自動的に提供できますか?既存のabc.shで何も編集したくありません。

ベストアンサー1

標準入力から4つの項目を読み取る既存のプログラムがあり、実際に対話せずにプログラムに入力を提供しようとしています。

次のテキストファイル()を準備できますinput.txt(データは質問テキストから取得されます)。

1
1
abc/abc@xyz
ENV_NO

その後、次のようにスクリプトを実行できます。

$ ./abc.sh <input.txt

これにより、スクリプトがキーボード対話ではなくファイルから読み取られるようになります。スクリプトのすべての出力は、入力の問題など、端末に表示され続けますが、入力は指定されたファイルから読み取られます。

ファイルに加えて、ここでドキュメントを使用することもできます。

./abc.sh <<END_INPUT
1
1
abc/abc@xyz
ENV_NO
END_INPUT

おすすめ記事