現在実行中のファイルは次のとおりです。
#!/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