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
(또한 변수를 인용하는 것을 잊지 마십시오).