コマンド
yes
指定の文字列を表示し続ける。
最終更新
UNIX/Linux の yes コマンドは、指定の文字列を永遠に出力し続けるコマンドである。
引数を指定すると、その引数を永遠に出力し続ける。
% yes hoge
hoge
hoge
hoge
:
こんなコマンドの存在意義はあるのか? と思うかもしれないが、一応、ある。
●yes コマンドで N 回ループ
シェルスクリプト内で 10 回同じ処理を繰り返す場合:
for i in `yes | head -10`; do
echo $i
done
●yes コマンドで連番を生成
シェルスクリプト内で 1〜10 の連番を得たい場合:
for i in `yes "" | cat -n | head -10`; do
echo $i
done
ただしこの目的であれば jot コマンドまたは seq コマンドを使う方が自然 (もし jot か seq が用意されていれば)。
●yes コマンドで、すべて yes で答える
延々 yes/no を聞いてくるプログラムに対し、全て y や n と答えたい場合:
% yes | fool-command
⇒ すべて y で答える
% yes n | fool-command
⇒ すべて n で答える
●yes コマンドで指定サイズのファイルを生成する
指定サイズのファイルを作成する場合:
% yes "" | head -100 > file.dat
⇒ file.dat のサイズは 100バイト (中身は改行コード)
ほかに mkfile や dd を使う方法もある。