2013-11-03 63 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//:/_} 
相關問題