mcumsigscr
if...elif脚本执行的问题
各位大侠,最近写了个脚本,由于自己shell方面不是很熟悉,所以请教大家一个问题:
脚本内容如下:
#!/bin/bash
EVTYPE=`cat /root/abc.conf | grep -i abcde | awk -F "=" '{print $2}' | tr A-Z a-z`
echo $EVTYPE;
if [ $EVTYPE = aaa ];then
echo "This is aaa Platform!"
elif [ $EVTYPE = bbb ];then
echo "This is bbb platform!"
else
echo "This is wrong!Please check it!"
fi
exit
但是执行结果总是This is wrong!Please check it!
不知道问题出在哪里,请指教。
lyk1009
回复 #1 mcumsigscr 的帖子
我试了下:
#!/bin/bash
EVTYPE=`cat /etc/redhat-release |grep -i tikanga | awk -F'[()]' '{print $2}' |tr A-Z a-z`
echo $EVTYPE;
if [ $EVTYPE = tikanga ];then
echo "This is tikanga Platform!"
elif [ $EVTYPE = bbb ];then
echo "This is bbb platform!"
else
echo "This is wrong!Please check it!"
fi
exit
结果:
tikanga
This is tikanga Platform! :mrgreen:
mcumsigscr
回复 #2 waker 的帖子
++ /bin/cat /root/abc.conf
++ grep -i abcde
++ awk -F = '{print $2}'
++ tr A-Z a-z
+ EVTYPE=$bbb/r'
+ echo $'bbb/r'
bbb
+ '[' $'bbb/r' = aaa ']'
+ '[' $'bbb/r' = bbb ']'
+ echo 'This is wrong!Please check it!'
This is wrong!Please check it!
+ exit
请问这个是怎么回事?请大侠指教。
[[i] 本帖最后由 mcumsigscr 于 2008-6-30 15:58 编辑 [/i]]
mcumsigscr
[quote]原帖由 [i]walkerxk[/i] 于 2008-6-30 16:13 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8703972&ptid=1184662][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
sed 's//r//g' 这句语句是去掉所有的回车,因为回车会干扰=的判断,而且你看不到回车。至于dos2unix不行的原因估计是你的回车出现在行的中间,所以不能处理。 [/quote]
非常感谢。
以前都是没有问题的。但是不知道为什么这次就会有问题。