여기에는 사용자가 Enter 키를 누른 후 데이터를 입력하는지 테스트하기 위한 일련의 예제가 있습니다.
echo -n "Type a digit or a letter > "
read character
blank=""
if [ "$character" != "$blank"]; then
echo "You typed something"
else
echo "Enter something"
fi
위의 코드는 변수에 아무것도 포함되어 있는지 테스트하기로 되어 있지만 제대로 작동하지 않는 것 같습니다. 도움이 필요하십니까? 고마워하는.
답변1
[ "$character" ]
단순히 문자열이 0이 아닌지 테스트하는 데 사용할 수 있으며 이는 더 긴 형식과 동일합니다 [ -n "$character" ]
. 또는 [ -z $character ]
문자열이 0인지 테스트합니다.
그러나 대화형 스크립트에서 실제로 필요한 것은 사용자가 재정의할 수 있는 변수에 일부 기본값을 설정하는 것입니다. 이것이 의도라면 테스트를 피하고 매개변수 확장을 사용할 수 있습니다.
read character
echo "character is set to ${character:-default}"