if 비교에서 여러 행 변수를 비교해 보세요.

if 비교에서 여러 행 변수를 비교해 보세요.

현재 실행 중인 파일은 다음과 같습니다.

#!/bin/ksh -x

export BIN_DIR="../../env"
. $BIN_DIR/vdenv.ksh

success="DROP
CREATE TABLE
GRANT"

$worker_dir/runsql.ksh ddl X X > chnl_avt_v1.log
result=$(sed -e '/DROP/,/GRANT/!d' chnl_avt_v1.log)

if [ "$result" -eq "success" ]; then
       echo "hi"
else 
       echo "NOO"
fi

아래는 $success와 $result가 동일하다는 것을 알고 있음에도 불구하고 발생하는 오류입니다. 결과 = DROP CREATE TABLE GRANT + [ DROP CREATE TABLE GRANT -eq 성공 ] master_list_ddl.ksh[13]: DROP ^JCREATE TABLE^JGRANT: 구문 오류 + echo NOO NOO

답변1

success변수 및 비교 연산자에 액세스하는 중에 오류가 발생했습니다.

if [ "$result" -eq "success" ]; then

분명히 그럴 것이다.

if [ "$result" = "$success" ]; then

관련 정보