Bash의 if 문에서 문자 변수를 사용하는 방법은 무엇입니까? [복사]

Bash의 if 문에서 문자 변수를 사용하는 방법은 무엇입니까? [복사]

예를 들어 나는 이런 글을 썼다.

read -p "Enter a character: " variable
if [ $variable -eq 'A' ];

정수 표현식이 필요하다는 오류가 발생하지만 정수 변수를 사용하고 싶지 않고 문자를 사용하고 싶습니다.

답변1

이것은 RHEL 6에서 작동합니다.

#!/bin/bash

read -rN1 -p "Enter a character: " variable; echo>&2
if [ "$variable" = 'A' ]; then
  echo Capital A
else
  echo something else
fi

그러나 여러 문자를 비교하는 경우 다음 구문을 사용할 수 있습니다 case.

case "$variable" in
  (A)   echo Capital A;;
  (b)   echo Lower case B;;
  ('\') echo Backslash;;
  (*)   echo something else;;
esac

관련 정보