yes는 죽게 될 때까지 계속적으로 긍정 응답, 또는 사용자 정의 텍스트 문자열을 출력하는 유닉스와 유닉스-계열 운영 시스템의 명령입니다.
Overview
그 자체로, yes 명령은 'y' 또는 인수로 지정된 어떤 것을 출력하고, 사용자에 의해 중지되거나 그렇지 않으면 죽게 될 때까지 반복적으로 새 줄이 뒤따릅니다; 명령으로 파이프될 때, 파이프가 끊어질 때까지 (즉, 프로그램이 실행을 완료할 때까지) 계속될 것입니다. 어쨌든, 만약 사용자가 'yes' 뒤에 문자열을 입력하면 yes는 echo와 유사하게 'y'와 같은 문자열을 출력할 것입니다.
GNU coreutils에 번들된 yes 버전은 David MacKenzie에 의해 작성되었습니다.
그 명령은 GnuWin32 프로젝트의 일부로 Microsoft Windows에 대해 별도 패키지로 사용할 수 있고 공통적인 GNU 유닉스-계열 유틸리티의 네이티브 Win32 포트에 대한 UnxUtils 모음입니다.
Uses
yes는 명령을 요청하는 임의의 명령에 긍정 (또는 부정; 예를 들어 yes n) 응답을 보내기 위해 사용할 수 있으며, 그것에 의하여 명령을 비대화식으로 실행할 수 있습니다.
많은 사용자-확인 프롬프트를 갖는 명령에 yes를 파이핑하면 모든 프롬프트에 자동으로 "yes" ('y'를 입력하고 return 키를 누름)로 응답할 것입니다.
다음 명령은
$ yes | sudo apt install foobar
y로 확인 메시지에 응답할 것이며, 임의의 프롬프트없이 sudo apt로 foobar를 효과적으로 설치합니다.
이 사용법은 사용자로부터 응답을 요청하는 대부분의 명령에 'force' 옵션 (예를 들어, rm -f) 또는 'assume-yes' 옵션 (예를 들어, apt -y)이 있기 때문에 오늘날 사용되지 않을 수 있습니다.
예제로써, 다음은:
$ rm -f *.txt
기능적으로 다음과 동등합니다:
$ yes | rm *.txt
head 명령과 함께 yes 명령은 테스트 수단으로 대용량 파일을 생성하기 위해 사용될 수 있습니다. 예를 들어, 다음 명령은:
$ yes 1234567 | head -1000 > file
각각 8자 (1, 2, 3, 4, 5, 6, 7 및 새 줄)로 구성된 각 1000개의 행으로 구성된 파일을 생성합니다.
yes는 CPU 부하를 생성하는 쉬운 방법으로 사용될 수 있습니다. 2006년에, 예를 들어, yes 명령은 임의의 사용자 입력없이 MacBook이 무작위로 꺼지는 "간헐적 종료 증후군" 버그에 의해 사용자의 MacBook이 영향을 받는지 여부를 테스트하는 수단으로 널리 알려졌습니다. Mac OS X에서 터미널을 통해 yes 명령을 무기한 두 번 실행함으로써, 사용자는 컴퓨터의 CPU를 최대로 사용할 수 있었고, 따라서 오류가 열과 관련된 것인지 확인할 수 있었습니다.
Implementation and performance
yes는 운영 시스템 사이의 작은 차이로 구현되었고 다양한 OS 구현은 몇 MiB/s에서 수십 GiB/s에 이르기까지 다양한 범위를 수행합니다.
Further reading
- Montfort, Nick (January 2012). The Trivial Program “yes” (PDF) (Technical report). Cambridge, Massachusetts: Trope Tank. 12-01. Retrieved 2017-03-21.
External links
- Manpage for yes (GNU version)
- GNU coreutils yes.c implementation
- FreeBSD yes.c implementation
- NetBSD yes.c implementation
- OpenBSD yes.c implementation