解答网友shell问题一例20140702

今天看到一网友观看老男孩shell视频后,问了一个问题如下:

wKioL1Oz8i_gWlLFAAEtVAvr46c745.jpg

解答思想:

我们学习shell的最好方法就是参看系统的标杆脚本及帮助的example。
下面是网卡启动脚本的有关这位网友问题的脚本样例。

wKioL1Oz8emwtevkAAC7Nd7SBlc481.jpg

很明显上述中括号字符比较等号两边有空格。所以上述的问题答案就不言而喻了。

[root@oldboy ~]# cat oldboytest.sh 
#!/bin/sh
stra='aa'
strb='bb'
 
if [ "$stra" == "aa" -a "$strb" == "bb" ];then
  echo "true"
else
  echo "false"
fi
 
 
if [[ "$stra" == "aa" && "$strb" == "cc" ]];then
  echo "true"
else
  echo "false"
fi
[root@oldboy ~]# sh oldboytest.sh  
true
false

 注意细节:特别是容易忽视的空格,在shell里很关键。

你可能感兴趣的:(问题,shell)