문자열 비교 시 산술 구문 오류

문자열 비교 시 산술 구문 오류

user/test.txt와 같이 파일 이름을 인수로 사용하는 쉘 스크립트를 작성했습니다. 사용자가 "없음"으로 지정할 수 있는 파일 이름을 제공하고 싶지 않은 경우 이 파일 매개변수를 선택 사항으로 만들고 싶습니다.

스크립트 내에서 파일 이름 매개변수에 "None"이 포함되어 있는지 확인합니다.

if [ $filename -eq "NONE" ];then
cmd;
fi

"None"이 매개변수 스크립트로 전달되면 제대로 작동하지만 user/test.txt를 전달하면 콘솔에 인쇄하고 싶지 않은 다음과 같은 오류 메시지가 나타납니다.

arithmetic syntax error

누구든지 도와줄 수 있나요?

답변1

[ bla bla bla ].test bla bla bla

~에서man test

   STRING1 = STRING2
          the strings are equal

   STRING1 != STRING2
          the strings are not equal

   INTEGER1 -eq INTEGER2
          INTEGER1 is equal to INTEGER2

그러므로 그럴 =필요가 없습니다 -eq.

관련 정보