web-dev-qa-db-ja.com

`yes`コマンドのポイントは何ですか?

この質問は、UNIXおよびLinuxマシンにあるyesコマンドに関するものです。基本的に、このツールのポイント(ある場合)と履歴は何ですか?実用的なアプリケーションはありますか?スクリプトで使用したり、別のツールと(パイプまたはリダイレクトを介して)連鎖したりする例を示すことができますか?

マンページは以下のとおりです。

YES(1)                    BSD General Commands Manual                   YES(1)

NAME
     yes -- be repetitively affirmative

SYNOPSIS
     yes [expletive]

DESCRIPTION
     yes outputs expletive, or, by default, ``y'', forever.

HISTORY
     The yes command appeared in 4.0BSD.

4th Berkeley Distribution        June 6, 1993        4th Berkeley Distribution

出力例:

$ yes why
why
why
why
why
^Cwhy
80
Jaryd Malbin

これは通常、インタラクティブなスクリプトに回答を提供するための迅速で汚れた方法として使用されます。

yes | rm -r large_directory

削除されるファイルについてプロンプトは表示されません。もちろん、rmの場合、いつでも-fディレクトリの削除をスチームロールするようにしますが、すべてのツールがそれほど寛容であるわけではありません。

更新

私が最近遭遇した、これに関連するより適切な例は、ファイルシステムをfsckingしていて、各エラーを修正する前にプロンプ​​トが表示されたときにyと答えたくない場合です。

yes | fsck /dev/foo
102
Joseph R.

前の回答 で述べた要点のほかに、yesコマンドを使用して、システム上の高負荷のCPUをテストすることもできます。 yesは、ダミーのCPUローダーとして機能し、プロセッサの使用率が100%になるプロセスを作成します。 http://en.wikipedia.org/wiki/Yes_(Unix)

25
coffeMug

FreeBSDワークステーションのポートを更新する場合、portmaster + yesを使用すると非常に便利です。

yes | portmaster -da

そうすれば、昼食中にマシンを更新させることができ、すべての質問がデフォルトで「y、yes」になります

rebuilding the world for 'make delete-old' and 'make delete-old-libs'の場合.

これは大きな時間の節約になります:

yes | make delete-old

そして

yes | make delete-old-libs

基本的に、「y」または「yes」を要求する特定の操作の入力/確認を回避するのに役立ちます

11
nbari