"예" 명령의 의미는 무엇입니까?

"예" 명령의 의미는 무엇입니까?

yesunix/linux에는 기본적 y으로 에 무한히 인쇄하는 명령이 있습니다 stdout. 그 의미는 무엇이며 용도는 무엇입니까?

답변1

yes는 응답을 요청하는 모든 명령에 긍정적(또는 부정적, 예: yes n) 응답을 보내는 데 사용할 수 있으므로 명령이 비대화형으로 실행됩니다.

yes 명령은 head 명령과 함께 사용되어 테스트용 대용량 파일을 생성합니다.

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

2006년에는 사용자의 MacBook이 간헐적 종료 증후군의 영향을 받았는지 테스트하는 수단으로 yes 명령이 홍보되었습니다. Mac OS의 터미널을 통해 yes 명령을 두 번 실행하여

위키피디아를 통해:http://en.wikipedia.org/wiki/Yes_(유닉스)

답변2

논란의 여지가 있는 부분이겠지만 제 생각에는명령줄 도구의 잘못된 UI에 대한 추악한 수정 사항은 다음과 같습니다..

일부 명령줄 도구는 프롬프트를 통해 사용자에게 질문하고 비대화식으로 실행할 수 있는 옵션이 없습니다.

$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...

문제에 대한 답은 표준 입력에서 가져오므로 이 문제를 해결하는 빠른 방법은 문자열을 지속적으로 출력하는 응용 프로그램을 사용하는 것 y\n입니다 yes. 유닉스관로이 출력을 주어진 명령에 대한 입력으로 보내는 데 사용할 수 있습니다.

$ yes | frobnicate

이 접근 방식의 문제점 중 하나는 yes답변하는 질문을 확인할 방법이 없다는 것입니다.

frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y

rm -f더 나은 솔루션(사용 가능한 경우)은 또는 와 같이 비대화식으로 실행하는 특정 옵션입니다 apt-get -y. 이를 통해 더 많은 정보를 바탕으로 애플리케이션에 동작을 작성할 수 있습니다.

답변3

저는 동일한 이름을 가진 동일한 파일이 포함된 여러 .zip 파일의 압축을 풀 때 이 기능을 사용하고 싶습니다. yes각 경우에 무엇을 하고 싶은지 묻는 메시지가 표시됩니다(예: 라이센스 계약).

yes | for z in *.zip; do unzip "$z"; done 

답변4

동료가 비밀번호를 입력하기 위해 새로운 방법을 사용했습니다.

yes password | passwd

관련 정보