シェルスクリプト-IPアドレスを取得する
IPアドレスを取得する。
下記コマンドで取得できます。
IFACE="eth0"
IP_ADDRESS=$(/sbin/ip -f inet -o addr show "${IFACE}" | cut -d\ -f 7 | cut -d/ -f 1)
IPアドレスの正規表現
egrepで入力値がIPアドレスの形式か判定します。
read -p "Please enter the IP address : " IP_ADDR
ret=$(echo ${IP_ADDR} | egrep "^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$")
if [ ! "${ret}" ] ; then
echo "[Err] Invalid IP address : ${IP_ADDR} ."
return 1
fi
MACアドレスを取得する
ifconfigコマンドから正規表現で取得します。
NIC_NAME="eth0"
function getMACAddr(){
local buff=""
buff=$(ifconfig "${NIC_NAME}" | grep "${NIC_NAME}")
MAC_ADDR=$(echo "${buff}" | grep -i -o '[0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}')
if [ $? -ne 0 ]; then
echo "[Err] Failed to get MAC address."
return 1
fi
if [ "${MAC_ADDR}" == "" ]; then
echo "[Err] MAC address is empty."
return 1
fi
return 0
}