私のifステートメントが正常に機能しておらず、理由がわかりません。
これは私が持っているものです
for LINE in $(cat someFile.txt)
do
inst=$(echo $LINE | awk -F, '{print $4}')
echo $inst # To verify is displaying correctly
if [ $inst == "UP" ]
then
echo "Program skips this when $inst is UP"
elif [ $inst == "DN" ]
then
echo "Program skips this when $inst is DN"
fi
done
そして-eq
、IFステートメントに使用すると、プログラムはこれを表示しますUP^M: 0403-009 The specified number is not valid for this command.
何か案は??
編集。答えを見つけた:
何らかの理由で、プログラムは最後に戻り文字を追加しています。
これを追加するinst=$(echo $inst | tr -d '\r')
と、列の値を取得した直後に問題が解決します。