GNU Core Utilities/yes
yes
コマンドは、指定した文字列を繰り返し出力し続けるコマンドです。主に、他のコマンドが入力を待っている場合に自動的に回答を提供するために使われます。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションが異なることがあります。
基本的な使い方
編集yes [文字列]
指定した文字列を繰り返し出力し続けます。文字列を省略した場合は y
が繰り返し出力されます。
例
編集y
を繰り返し出力
編集
yes
y
を無限に繰り返し出力します。
任意の文字列を繰り返し出力
編集yes "こんにちは"
こんにちは
を無限に繰り返し出力します。
文字列を指定した回数だけ繰り返し出力
編集yes "OK" | head -n 5
OK
を 5 回だけ出力します(head
コマンドで制限)。
他のコマンドに自動で入力を渡す
編集例えば、rm
コマンドで確認を自動的に「はい」で答える場合:
yes | rm -i *.txt
rm
コマンドの確認プロンプトに対して自動的に「y」を入力します。
FreeBSD 版との違い
編集yes
コマンドは FreeBSD にも含まれていますが、GNU 版といくつか異なる挙動がある場合があります。
主な違い
編集- 無限出力の挙動
- FreeBSD 版では、文字列を繰り返し出力する挙動が異なる場合がありますが、基本的な動作はほぼ同じです。
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールすると、GNU 版のyes
コマンドがgyes
という名前で使えるようになります。pkg install coreutils gyes "指定した文字列"
詳しくは、それぞれの環境で man yes
を確認してください。