2017-05-17 5 views
0

스크립트를 실행하기 위해 ENTER 키를 누를 경우 bash에서 Y/n 프롬프트를 생성하려고합니다. 아이디어는 Y/Y의 경우/예/YES 또는를 입력한다는 것입니다Enter 키를 받아들이는 Bash Y/N 프롬프트

while true; do 
    read -p "Do you wish to remove this directory [Y/n]? " rmv 
    rmv=${rmv,,}         # lower the letters in the rmv variable 
    case $rmv in 
     [y]*) echo "YES"; break;; 
     #[]) echo "Enter Key"; break;; 
     [n]*) echo "NO"; exit;; 
     *) echo "Please answer yes or no! ";; # repeat until valid answer 
    esac 
done 

: 지금까지 난 단지 예/아니오 대답을지지 않습니다하고 첫 번째 편지를 읽고 나머지는 무시하는 스크립트를 만들었습니다 아니요/N/아니요/아니요의 경우 루프를 중단하고 유효하지 않은 답변이있는 경우 몇 가지 명령을 실행하여 다시 질문하십시오. 나는 최선을 OR "||" "Y"의 경우 행에. 당신의 case 문 내부

+0

당신은 또한 사용할 수있는' 'Y'다른 아무 것도 입력하지 않은 경우 기본 응답을 만들기 위해 -ei Y'를 읽고 다른 응답을 제공하기 위해 약간 더 많은 타이핑이 필요합니다. – chepner

답변

2

, 당신은이 같은 빈 문자열을 테스트 할 수 있습니다 :

 "") echo "Enter Key"; break;; 
+0

예, 작동합니다 :) 정말 간단합니다. 덕분에 많은 도움을 받았습니다! –

+0

당신은 오신 것을 환영합니다! –