「yes」コマンドとは何ですか?


29

はいを入力するように要求するコマンドをUbuntuターミナルで発行しましたが、最初に尋ねるだけであることを発見しましたが、気付く前に既にEnterキーを押していました。そのため、「コマンドが見つかりません」というメッセージを期待していましたが、代わりに「y」の終わりのないストリームが表示されました。これがこれだけのことのように思えるので、このコマンドのポイントが何であり、なぜ「y」を出力するのか疑問に思っています。(Ubuntu 11.10)

回答:


14

ウィキペディアから:

yesコマンドは、それ自体で「y」または引数として指定されたものを出力し、その後にユーザーが停止するか強制終了するまで繰り返し改行が続きます。コマンドにパイプされると、パイプが壊れる(つまり、プログラムの実行が完了する)まで続行されます。

yesを使用すると、シングルプロセッサを搭載したシステムで100%のプロセッサ使用率が得られるため、システムが高負荷を処理する方法をテストするためにも使用できます(マルチプロセッサシステムの場合、プロセッサごとにプロセスを実行する必要があります)。これは、たとえば、プロセッサが100%で実行されているときにシステムの冷却システムが効果的かどうかを調査するのに役立ちます。


30

(SysVの日以前)昔は、fsckコマンドが持っていなかった-y-nのオプション。このコマンドは、「y」または「n」を期待して、数百または数千のアイテムを変更するように対話形式で要求します。yesコマンドは、fsckのにパイプに作成された、といくつかの他のプログラムが対話的な質問を繰り返し解答することができるように(再び、これは長いTclの前に、SysVの日だったと期待します)。このyesプログラムは、特定のことを非常にうまく行い、他のプログラムと連携する小さなプログラムであるUNIXの哲学に非常によく適合しています。


4

ここで提供される情報に基づいて:http : //linux.about.com/library/cmd/blcmdl1_yes.htm

Linux / Unixコマンド:はい

コマンドライブラリ

yes-強制終了されるまで文字列を繰り返し出力します

あらすじ

はい[STRING] ...はいオプション

説明

指定されたすべてのSTRINGまたは `y 'を含む行を繰り返し出力します。

このヘルプして終了する--versionバージョン情報を表示して終了の表示--help
関連項目

yesの完全なドキュメントは、Texinfoマニュアルとして管理されています。infoおよびyesプログラムがサイトに適切にインストールされている場合、コマンド

info yes

完全なマニュアルにアクセスできます。

私の謙虚な意見では、「y」キーを押してプロセス/スクリプト内の何かを繰り返し承認する必要がある場合、「yes」コマンドの使用は論理的に聞こえます。プログラムの実行をキャンセルすることで制御できます。

とにかく、他の誰かがこのコマンドの使用経験があるかもしれません。


Linuxの経験はあまりありませんが、プロセス/スクリプト内で "yes"コマンドを使用するにはどうすればよいですか?
グレッグトレリーベン


1

yesコマンドは、プログラムを終了するか出力パイプが閉じるまで、引数を出力するか、空の場合は「y」を出力します。rm -iのように、入力の繰り返しが予想されるプログラムで使用できます。


1
yesを使用してすべてを削除する場合、なぜ反復rmを実行するのですか?
fromnaboo

@fromnabooそれは悪い例です、私は知っています。ただし、使用する必要があるプログラムの内部作業にアクセスできない場合があり、yesを使用すると、同じ入力を無限に繰り返すことを回避できます。
ダニエルクルマン

@fromnabooマシンの正味の正しさを高めるため。
ウォルフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.