我的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.
任何想法??
EDIT。发现答案:
由于某种原因,程序最后会添加一个返回字符。
在获取列值后立即添加:inst=$(echo $inst | tr -d '\r')
可以解决问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
找到答案:
由于某种原因,程序最后会添加一个返回字符。
在获取列值后立即添加:inst=$(echo $inst | tr -d '\r')
可以解决问题。