작업 결과를 확인하고 그에 대한 조치를 수행하고 싶습니다 FAILED
.
먼저, 애플리케이션 로그 파일(가장 최근에 처리된 파일( $processedfilename
))에서 줄의 마지막 단어를 검색합니다.
check1=$(grep "$processedfilename" "$logfile" | grep "anotherword" | \
grep "FAILED" | tail -1 | awk '{print $NF}')
이는 [FAILED]
.
이제 결과를 확인하고 싶습니다.
if [ $check1 -eq "[[FAILED]" ]
then
또는
if [ $check1 -eq "\[FAILED]" ]
then
언제나산술 구문 오류.
확인하는 올바른 구문은 무엇입니까 [FAILED]
?
답변1
변수는 항상 큰따옴표로 인용해야 합니다. 그리고 =
문자열이 동일해야 합니다. 그래서:
if [ "$check1" = "[FAILED]" ]; then
답변2
(또는 inside ) 를 사용하여 산술 비교를 수행하면 오류가 발생합니다. (또는 inside ) -eq
를 사용하여 문자열 비교를 수행해야 합니다. 따옴표를 사용하면 충분합니다.=
==
[[
[ "$check1" = "[[FAILED]" ]
[[ "$check1" = "[[FAILED]" ]]