나는 bash 스크립트를 작성 중입니다. 그것은 메뉴 구동입니다.Case 문이 일치하지 않음 "*"
어떤 이유로 나는 case 문을 사용하고 모든 옵션을 인쇄 한 후에 *를 사용하여 사용자가 입력 할 수있는 항목을 모두 캡처합니다. 하지만 웬일인지, 나의 출력은 끝나지 않고있다.
예 :
while [ 1 ]; do
if [ $MAIN_MENU -eq 1 ]; then
printMainMenu
read option
case "$option" in
"1") printDiskSpace;;
"2") printFreeMemory;;
"0") exit;;
"*") echo "Input not understood.";;
esac
fi
done
내가 1, 2, 0가 올바른 일을 입력하면 나는 메뉴를 사용하면 지금 무슨 일하는 것입니다. 하지만 예를 들어 55를 입력하면 "입력을 이해하지 못했습니다"라는 메시지가 표시되지 않고 메뉴가 다시 표시됩니다.
여기에 뭔가가 있습니까?
감사합니다.
당신은 공백으로 문자열을 처리 할 때를 제외하고 모두에서 따옴표가 필요하지 않습니다. – nemo
@nemo : 패턴처럼 다루어지기를 원치 않는다면'*'와 같은 문자열. :-) – ruakh
@ruakh 예, 물론 :) – nemo