이 질문은 yes
UNIX 및 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"가 필요한 특정 작업을 입력/확인하는 것을 방지하는 데 도움이 됩니다.