linux shell中的如下比较字符串为什么比较不出来?

if["X$line"="X[$blockname]"];thenbegin_block=1#echo"3"continuefi如下是我打出来的X$line和X[$blo... if [ "X$line" = "X[$blockname]" ];then
begin_block=1
#echo "3"
continue
fi
如下是我打出来的X$line和X[$blockname]的值
X[GroupM] X[GroupS]
X#ha group0 infor: 0:enable 1:disable X[GroupS]
Xha-enable=1 X[GroupS]
X#keepalive-interval,value must be in <500-60000> X[GroupS]
Xkeepalive-interval=1000 X[GroupS]
X# retry-times,value must be in <1-10> X[GroupS]
Xretry-times=3 X[GroupS]
X# device-priority,value must be in <1-255> X[GroupS]
Xdevice-priority=128 X[GroupS]
X#haifname,value must be ha or ethernet name X[GroupS]
Xhaifname=ha X[GroupS]
X#prempt, value must be in <0-1> X[GroupS]
Xprempt=0 X[GroupS]
X# configuration-synchronization ,value must be in <0-1> X[GroupS]
Xconfiguration-synchronization=0 X[GroupS]
X# user-synchronization ,value must be in <0-1> X[GroupS]
Xuser-synchronization=0 X[GroupS]
X[GroupS] X[GroupS]----这一行是完全一样的,为什么始终进不了if条件分支?
X#ha group0 infor: 0:enable 1:disable X[GroupS]
Xha-enable=0 X[GroupS]
Xkeepalive-interval=1000 X[GroupS]
Xretry-times=3 X[GroupS]
Xdevice-priority=128 X[GroupS]
Xhaifname=ha X[GroupS]
Xprempt=0 X[GroupS]
Xconfiguration-synchronization=0 X[GroupS]
Xuser-synchronization=0 X[GroupS]
展开
 我来答
浮生难忆
2013-12-05 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:682万
展开全部
能否提供下你的变量获取的代码?你的$line 和 $blockname 获取到的代码能贴下么?
最好能贴一下完整的代码,以便debug。
追问
原因找到了,是因为在读配置文件获取字符串的时候,配置文件是在windows下写的,需要转化成unix格式,用:set ff=unix之后就可以了!多谢你。
追答
客气了,如果是windows下的文件,那确实需要先转格式,原来如此,多谢分享~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式