首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

遇到了shell的模式匹配有关问题,求指教

2013-10-24 
遇到了shell的模式匹配问题,求指教我要判断一个字符串是mac地址还是ip地址,mac:xx:xx:xx:xx:xx:xxip:x.x.x

遇到了shell的模式匹配问题,求指教
我要判断一个字符串是mac地址还是ip地址,
mac:xx:xx:xx:xx:xx:xx
ip:x.x.x.x
我想用if的双方括号模式匹配判断
if [[ addr = ..:* ]]
then
   echo mac
else
   echo "not mac"
fi

注意我这里请教的双方括号的判断问题,我看《linux命令行和shell脚本编程宝典》这本书里写的是双方括号能用正则表达式,但是这里怎么点号不起作用,有点蒙,请指教 换做我的话,会用以下方法:

#
!/bin/sh

a="00:11:22:33:44:55"
#a="192.168.10.1"

if (echo $a 
[解决办法]
 grep "^..:..:..:..:..:..$" >/dev/null 2>&1)
then
        echo mac
else
        echo not mac
fi

热点排行