본문 바로가기
shell script & Linux

[쉘스크립트] if -eq integer expression expected 에러

by 유헤 2019. 2. 20.

이번 에러는 쉘 스크립트로 실행하다 생긴 오류이다.


./test.sh: line 24: [: 0

: integer expression expected


내용은 간단하다




원격 ssh를 이용하여 쉘스크립트 명령어를 받아


cnt=`ssh -t -t yh@${serv_ip} "ps -ef | grep wget | grep -v grep | wc -l "`

if [[ $cnt -eq 0 ]] ; then

로 실행하니 if문에서 걸린 오류였다.




문제는 -eq가 문자열 계산이 아닌 정수 계산이라 해당 에러가 발생했고

if [[ $cnt == 0 ]] ; then
로 실행하니, white space문제인지 인식이 안되어

if [[ $cnt =~ 0 ]] ; then 로 하니 잘 된다!