"계속하려면 아무 키나 누르십시오"라는 메시지를 어떻게 받을 수 있나요?

"계속하려면 아무 키나 누르십시오"라는 메시지를 어떻게 받을 수 있나요?

테마를 설치하기 위한 스크립트를 작성 중입니다. 설치가 완료되면 변경 로그가 나타나고 "계속하려면 아무 키나 누르십시오"라는 메시지가 표시되므로 사용자는 변경 로그를 읽은 후 아무 키나 눌러 계속할 수 있습니다.

답변1

이 명령을 사용할 수 있습니다 read. 다음을 사용하는 경우 bash:

read -p "Press enter to continue"

다른 셸에서는 다음을 수행할 수 있습니다.

printf "%s " "Press enter to continue"
read ans

위의 설명에서 언급했듯이 이 명령을 사용하려면 실제로 사용자가 키를 눌러야 합니다. enter어떤 키에나 작동하는 솔루션은 bash다음과 같습니다.

read -n 1 -s -r -p "Press any key to continue"

설명자그리고요금

-n읽기를 중지하는 데 필요한 문자 수를 정의합니다.

-s사용자 입력 숨기기

-r문자열이 "raw"로 해석됩니다(백슬래시 이스케이프는 고려되지 않음).

답변2

read -rsn1 -p"Press any key to continue";echo

또는 변수가 정말로 필요한 경우 REPLY:

read -rsn1 -p"Press any key to continue" variable;echo

variable원하지 않는 변수 이름으로 바꾸세요 .

답변3

@cas가 댓글에 썼듯이 꼭 사용해야 합니다 less. 변경 로그가 한 페이지보다 길면 실제로 호출기가 필요합니다.

PAGER일반적 으로 다음을 호출하는 것이 아니라 환경 변수를 참조하려고 합니다 less.

${PAGER:-less} changelog

$PAGER설정된 경우 사용되고, 그렇지 않은 경우 사용됩니다 less.

관련 정보