|
发表于 2008-11-16 23:02:41
|
显示全部楼层
grep -E "WebqqSrv|cwebserver" 应该是可以的,记住加-E,中间的|代表或的意思,就是说查找WebqqSrv或cwebserver的关键字。或者用egrep "WebqqSrv|cwebserver", egrep与grep -E相同。
if [[ -z $x ]]; then echo $x; fi 这句当然会什么都打不出来,因为条件是if x字符串为空,就echo $x,当然只能打印一个空串出来。这里似乎可以去掉一对[],只用一对[]好像也没什么问题。加了一个!叹号后条件取反,语句就变成如果x不为空就打印。
再纠正一下,[ 不是if的括号,[ 是一个单独的bash命令。你可以ls -l /usr/bin/[ ,可以看到 [ 是一个单独的命令,本身与if没有关系。[ 实际和bash命令中的test等价。具体可以man test看到。在平时使用中 [ 要和 ] 配对,但是实际上 ] 是没有什么意义的,所以[ ]同我们平时习惯的括号还是有区别的。
知道了 [ 是一个命令,所以 [ 的左右必须有空格,因为命令之间和命令与参数之间是不能紧连的,必须有空格,记住这一点用起 [ 一般就不会报出语法错误了(但是为什么可以[[连用,说实话我也不知道,望知道的朋友赐教)。 |
|