![bash: 정수 표현식이 필요합니다.](https://linux55.com/image/46234/bash%3A%20%EC%A0%95%EC%88%98%20%ED%91%9C%ED%98%84%EC%8B%9D%EC%9D%B4%20%ED%95%84%EC%9A%94%ED%95%A9%EB%8B%88%EB%8B%A4..png)
out.csv 파일이 있는데 사용자가 입력한 이름이 파일에 있는지 확인해야 합니다(쉼표로 구분). 이름을 가져오기 위해 읽기를 사용하고 있지만 동등성을 확인하는 동안 오류가 발생합니다.
IFS=","
while read tname tnum
do
if [ $tname -eq $name ]; then
flag=1
break
fi
done < out.csv
echo "$ch"
답변1
-eq
이 오류는 정수 , -ne
, -gt
및 유사한 정수 함수 에 대한 항등 연산자를 사용하여 문자열을 비교하려고 하기 때문에 발생합니다 .
문자열을 비교하려면 =
같음 비교 또는 !=
같지 않음 비교를 사용하세요.
확인하다이것비교 연산자에 대한 추가 정보
if [ $tname -eq $name ]; then
다음과 같이 변경되어야 합니다:
if [ "$tname" = "$name" ]; then
(또한 변수를 인용하는 것을 잊지 마십시오).