"예" 명령은 무엇을 의미합니까? [복사]

"예" 명령은 무엇을 의미합니까? [복사]

이 질문은 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_(유닉스)

답변3

FreeBSD 워크스테이션에서 포트를 업데이트할 때 portmaster + yes를 사용하는 것이 매우 편리합니다:

yes | portmaster -da

이렇게 하면 점심 시간에 기계를 업데이트할 수 있으며 모든 질문은 기본적으로 "예, 예"로 채워집니다.

언제세상을 재건하다"makedelete-old" 및 "makedelete-old-libs"용.

이렇게 하면 많은 시간이 절약됩니다.

yes | make delete-old

그리고

yes | make delete-old-libs

기본적으로 "y" 또는 "yes"가 필요한 특정 작업을 입력/확인하는 것을 방지하는 데 도움이 됩니다.

관련 정보