![Bash의 if 문에서 문자 변수를 사용하는 방법은 무엇입니까? [복사]](https://linux55.com/image/178838/Bash%EC%9D%98%20if%20%EB%AC%B8%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
예를 들어 나는 이런 글을 썼다.
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