コマンドリスト実行の一時停止

コマンドリスト実行の一時停止

以下のbashコマンドのリストを含むファイルがあります。

echo 'foobar'
echo 'helloworld'
echo 'ok'

次のように簡単にパイピングしてこれらのコマンドを実行できます/bin/bash

cat commands | /bin/bash

途中で実行を一時停止してユーザー入力を待つにはどうすればよいですか?使うのはread効果がないようです。

echo 'foobar'
echo 'helloworld'
read -p 'Press ENTER to continue'
echo 'ok'

答え1

次のように実行します。

/bin/bash commands

bashファイルを渡す stdin にファイルをパイプしますbash。この場合、read標準入力読み出しは、端末ではなくパイプストリームで行われます。echo 'ok'ファイルを引数として指定してもbash実行できますが、今回は標準入力はリダイレクトされません。

私はこのように実行したいと思います。比較するbash script.shこれらの走りとそしての違いは何ですか./script.sh

関連情報