はじめに
コマンドを実行した際に途中で[y/n]
などが出力され回答を求められる場合があります。
これに自動的に回答する方法について記載します。
自動で回答する方法
yes
コマンドを使用することで自動的に回答できます。
試しにyes
コマンド単体で実行します。
$ yes
y
y
y
y
^C
中断するまでy
が出力され続けます。
これを標準入力として次のコマンドに渡します。
$ yes | rm -i *.txt
remove example.txt? remove sample.txt? remove test.txt?
自動的にy
と回答されてすべて削除されます。
y
以外の回答をするには以下のようにyes
コマンドの後に記述します。
$ yes 'n' | rm -i *.txt
remove example.txt? remove sample.txt? remove test.txt?
自動的にn
と回答されます。
yes 'n'
のみで実行すると以下のように中断するまでn
が出力され続けます。
$ yes 'n'
n
n
n
n
n
^C
n
以外の文字列も同様に出力されます。
$ yes 'foo'
foo
foo
foo
foo
foo
^C
なお一度だけ自動で回答できれば良い場合には以下のようにもできます。
$ echo 'y' | rm -i sample.txt
remove sample.txt?