コマンド出力を実行/バックグラウンドコマンド入力に接続します。

コマンド出力を実行/バックグラウンドコマンド入力に接続します。

Bash 4.Xでは、次のことができます。

command that expects input &
echo some output | %1

%1は最初のバックグラウンドコマンドを表しますか?

ベストアンサー1

はい、しかしもう少し必要です。

プログラムをバックグラウンドで送信すると、stdin端末との接続が切断されます。代替入力(この場合はパイプ)で始める必要があります。

$ mkfifo alternate_input
$ command_that_expects_input < alternate_input

alternate_inputこれで、パイプファイル()をstdinプロセスのファイルとして指定しましたcommand_that_expects_input。入力を送信するには、パイプに何かを入れるだけです。

$ echo foo > alternate_input

この場合、文字列はforfooに送信されます。stdincommand_that_expects_input

おすすめ記事