“예”명령은 무엇입니까?


29

나는 Ubuntu 터미널에서 yes를 입력 해야하는 명령을 내렸지 만 처음에만 묻는다는 것을 알았지 만 실현하기 전에 이미 enter 키를 눌렀습니다. 따라서 "명령을 찾을 수 없음"메시지가 예상되었지만 "y"라는 끝없는 스트림이 생겼습니다. 이것이 유일한 방법 인 것 같습니다. 그래서이 명령의 요점이 무엇인지, 왜 "y"를 출력하는지 궁금합니다. (우분투 11.10)

답변:


14

에서 위키 피 디아 :

yes 명령 자체는 'y'또는 인수로 지정된 항목을 출력 한 다음 사용자가 중지하거나 다른 방법으로 종료 될 때까지 줄 바꿈을 반복하여 출력합니다. 명령으로 파이프되면 파이프가 끊어 질 때까지 계속됩니다 (예 : 프로그램이 실행을 완료).

또한 단일 프로세서가 장착 된 시스템에 대해 yes를 사용하면 프로세서 사용률이 100 %이므로 시스템에서 고부하를 얼마나 잘 처리하는지 테스트하는 데 사용할 수 있습니다 (다중 프로세서 시스템의 경우 각 프로세서마다 프로세스를 실행해야 함). 예를 들어, 프로세서가 100 %로 실행될 때 시스템의 냉각 시스템이 효과적인지 여부를 조사하는 데 유용 할 수 있습니다.


30

오래 전에 (SySV 일 이전) fsck명령에 -y또는 -n옵션 이 없었습니다 . 이 명령은 대화식으로 'y'또는 'n'을 기대하면서 수백 또는 수천 개의 항목을 변경하도록 요청합니다. 이 yes명령은 fsck로 파이프하기 위해 만들어졌으며 일부 다른 프로그램은 대화식 질문에 반복적으로 대답 할 수 있습니다 (다시 말하면 Tcl 및 Expect 이전의 SysV 일이었습니다). 이 yes프로그램은 UNIX 철학에 잘 맞습니다. 특정 작업을 매우 잘 수행하고 다른 프로그램과 함께 작동하는 작은 프로그램입니다.


4

여기에 제공된 정보를 기반으로합니다 : http://linux.about.com/library/cmd/blcmdl1_yes.htm

리눅스 / 유닉스 명령 : 예

명령 라이브러리

이름

yes-죽일 때까지 문자열을 반복적으로 출력

개요

예 [STRING] ... 예 옵션

기술

지정된 모든 STRING 또는`y '가있는 행을 반복해서 출력합니다.

--help이 도움말을 표시하고 --version 출력 버전 정보를 종료하고 다음을
참조하십시오.

예에 대한 전체 문서는 Texinfo 매뉴얼로 유지됩니다. info 및 yes 프로그램이 사이트에 올바르게 설치되어 있으면

info yes

완전한 매뉴얼에 액세스 할 수 있어야합니다.

겸손한 견해로는 "y"키를 눌러 프로세스 / 스크립트에서 무언가를 반복적으로 승인해야 할 때 "yes"명령을 사용하는 것이 논리적 인 것처럼 들립니다. 프로그램 실행을 취소하여 제어 할 수 있습니다.

어쨌든 다른 사람이이 명령을 사용한 경험이있을 수 있습니다.


나는 리눅스 경험이 많지 않다. 프로세스 / 스크립트 내에서 "yes"명령을 어떻게 사용할 수 있는가?
Greg Treleaven


1

yes 명령은 인수를 인쇄하거나, 프로그램이 종료되거나 출력 파이프가 닫힐 때까지 비어있는 경우 "y"를 인쇄합니다. rm -i와 같이 반복되는 입력이 필요한 프로그램과 함께 사용할 수 있습니다.


1
yes를 사용하여 모든 것을 삭제하면 왜 반복적 인 rm을 수행합니까?
fromnaboo

@fromnaboo 나쁜 예입니다. 그러나 때로는 사용해야하는 프로그램의 내부 작업에 액세스 할 수 없으므로 동일한 입력을 끝없이 반복하는 것을 피할 수 있습니다.
다니엘 쿨만

@fromnaboo 컴퓨터의 nett 양성을 증가시킵니다.
Walf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.