조건이 충족되는 경우에만 이메일을 보내야 하는데 다음 스크립트를 실행하면 오류가 발생합니다.
file='/somewhere/here/file.txt'
value=$(cat "$file")
if [$value < 99]; then
echo "$value" | mailx -s "title" [email protected]
fi
내가받는 오류는 다음과 같습니다.
[line 4: 99]: No such file or directory
파일 권한: 0755
"/somewhere/here/file.txt" 파일이 존재합니다
답변1
모든 프로그래밍 언어에는 고유한 구문이 있으므로 새 언어를 시도하기 전에 반드시 설명서를 읽어야 한다는 점을 명심하세요. 셸에서는 <
"보다 작음"을 의미하지 않고 "이 파일을 입력으로 사용"을 의미합니다. 수치 비교를 하려면 -lt
"보다 작음"이 필요합니다.
또한 [
및 주위에는 항상 공백이 필요합니다 ]
. 그래서 당신이 쓰고 싶은 내용은 다음과 같습니다.
if [ "$value" -lt 99 ]; then
echo "$value" | mailx -s "title" [email protected]
fi
자세한 내용은 help test
및 을 참조하십시오 man bash
.