
ここでは、文字列比較が機能しない理由を理解できません。
while IFS=, read -r ELMS_SIZE ELMS_NAME ELMS_ENV ELMS_DB
do
if [ "${ELMS_DB}" = "NOMATCH" ]; then
echo "done"
fi
done < <(tac ${CSM_DATA_DIR}/test.csv)
exit
ELMS_DB
文字列値はNOMATCH
test.csv の出力例です。
12 am_pltconfig9 unknown NOMATCH
12 am_pltconfig8 unknown NOMATCH
12 am_pltconfig7 unknown NOMATCH
12 am_pltconfig6 unknown NOMATCH
答え1
あなたの例によると、test.csv
ファイルは実際にはカンマで区切られず、スペースで区切られます。 while readループを次のように変更してみてください。
while read -r ELMS_SIZE ELMS_NAME ELMS_ENV ELMS_DB
do
if [ "$ELMS_DB" = "NOMATCH" ]; then
echo "done"
fi
done < <(tac "${CSM_DATA_DIR}/test.csv")
exit