2013-11-03 30 views
1

在这里我创建了一个bash脚本来获取系统mac地址(05:1d:48:2f:60:h6)并分配给一个变量$ phyAddr。我想从mac地址中将':'替换为'_',并将其分配给另一个变量$ phyAddrConvert。在这里它只获取mac地址。请帮我修正'col'替换为'下划线符号'。如何在系统MAC地址中用'下划线符号'代替'冒号'?

phyAddr=`ifconfig | grep 'eth0' | tr -s ' ' | cut -d ' ' -f5` 
phyAddrConvert=$phyAddr | sed "s/:/_/g"; 
echo $phyAddr     # get output as 05:1d:48:2f:60:h6 
echo $phyAddrConvert   # nothing will get 

回答

4

你可以试试,

# cat phyAddr.sh 
phyAddr=`ifconfig | grep eth0 | awk '{print $5}' | sed 's/:/_/g'` 
echo $phyAddr 

你的Mac地址应该显示这个样子,

# ./phyAddr.sh 
1A_2B_3C_4D_5E_6F 
2

更换这行:

phyAddrConvert=$phyAddr | sed "s/:/_/g"; 

与此:

phyAddrConvert=$(echo $phyAddr | sed "s/:/_/g") 

应该给你你正在寻找的结果。

2
phyAddrConvert=${phyAddr//:/_} 
相关问题