이 스크립트에서 "read -n1 -s"는 무엇을 의미합니까?

이 스크립트에서 "read -n1 -s"는 무엇을 의미합니까?

오늘 저는 명령줄의 메뉴 옵션에 대한 몇 가지 요령을 배웠습니다. 그 중 하나는

cat << EOF
    Some lines
EOF
read -n1 -s
case $newvar in
   "1") echo "";
ecsa 

정말 놀랍습니다. 매뉴얼 페이지에서 이 옵션에 대한 설명을 찾을 수 없습니다. 참가방법읽다명령이 푸시되었습니다.사례옵션? 내가 아는 한 일반적으로 변수를 사용하여 수행됩니다.

저는 단지 이 조합의 과정에 대해 더 알고 싶었을 뿐입니다.

while :
do
    clear
    cat<<EOF
    ==============================
    Menu Install DHCP Tool
    ------------------------------
    Please enter your choice:

    (1) Config Network Interface
    (2) Check status
    (3) Config DHCP server
    (Q)uit
    ------------------------------
EOF
read -n1 -s
    case "$REPLY" in
    "1")  config_network ;;
    "2")  check_status ;;
    "3")  config_dhcp ;;
    "q")  exit                      ;;
     * )  echo "invalid option"     ;;
    esac
    sleep 0.2
done

답변1

이것선적 서류 비치read지적했다:

이름이 제공되지 않으면 읽은 행이 변수에 할당됩니다 REPLY.

그 이후로는 평범한 발언이었다 case. -n1단일 바이트를 읽고 -s입력의 터미널 에코를 끕니다.

답변2

간단한 설명에 사용한 변수가 $newvar존재하지 않습니다.

$REPLY실제로 전체 명령에서 사용하므로 이어야 합니다 .

-n1 -s이 질문은 귀하가 질문한 읽기 옵션과 관련이 없습니다.

관련 정보