「はい」コマンドは何を意味しますか? [コピー]

「はい」コマンドは何を意味しますか? [コピー]

この質問は、yesUNIXおよびLinuxシステムのコマンドに関するものです。基本的に、このツールの意味(ある場合)と歴史は何ですか?実用的なアプリケーションはありますか?スクリプトで役に立つか(パイプやリダイレクトを介して)他のツールに関連付けられている例を示しますか?

オンラインヘルプページは次のとおりです。

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

答え1

インタラクティブなスクリプトへの回答を提供する迅速で汚い方法としてよく使用されます。

yes | rm -r large_directory

ファイルが削除されたというメッセージは表示されません。もちろん、この場合、ディレクトリをシームレスに削除するようにrmコマンドを常に提供できますが、すべてのツールがそれほど寛大ではありません。-f

修正する

最近遭遇したより関連性の高い例は、ファイルシステムで作業するときにfsck各エラーを修正する前に表示されるプロンプトに応答したくない場合です。y

yes | fsck /dev/foo

答え2

本文に記載されている重要な内容に加えて、以前の回答このyesコマンドは、システムのCPUへの高負荷をテストするためにも使用できます。yes仮想CPUローダーとして機能し、プロセッサ使用率100%を引き起こすプロセスを作成します。http://en.wikipedia.org/wiki/Yes_(Unix)

答え3

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

yes | portmaster -da

これにより、ランチタイムにマシンを更新でき、すべての質問にデフォルトで「はい、はい」が入力されます。

いつ世界を再建する「makedelete-old」と「makedelete-old-libs」用。

これにより、多くの時間が節約されます。

yes | make delete-old

そして

yes | make delete-old-libs

デフォルトでは、「y」または「yes」が必要な特定のタスクを入力/確認するのを防ぐのに役立ちます。

関連情報