「Mavericks 10.9.5」と「Yosemite 10.10.2」とを交互に立ち上げて比較しています。何度かしていると、自分がどの環境にいるか、混乱します。
ふと、以前ネットワークの整備した時に、LANの設定を表示するスクリプトを書いていたのを思い出しました。それにホスト情報を加えた「zshスクリプト」を作りました。これが結構役にたつので、紹介します。
ターミナルでの使用例をお示しします;
スクリプトをお示しします;
#!/bin/zsh
#
# myHost:
#
# Usage & outputs:
# % myHost⏎
# •System Version: Mac OS X: 10.10.2(14C1514)
# •Host Name: MmM11.local
# •Boot Volume: sh3X10.2
# •LAN Ports: (1) Ether:"*" 10.9.8.100
# (2) Wi-Fi:"*" 10.9.8.101
getHostInfo() {
sysName=$(sw_vers -productName)
sysVersion=$(sw_vers -productVersion)
sysBuild=$(sw_vers -buildVersion)
hostName=$(hostname)
etherIP=$(ipconfig getifaddr en0)
wifiIP=$(ipconfig getifaddr en1)
myd=$( ls -l /Volumes/ | grep " -> " |\
sed -e "s%.* \([a-zA-Z0-9._-]*\) -> /$%\1%")
echo " •System Version: $sysName $sysVersion($sysBuild)"
echo " •Host Name: $hostName"
echo " •Boot Volume: $myd"
echo " •LAN Ports: (1) $LAN_Name[1]:\"$LAN_State[1]\" $LAN_IP[1]"
echo " (2) $LAN_Name[2]:\"$LAN_State[2]\" $LAN_IP[2]"
return
}
getLANportsOrder(){
set -a LAN_Name=()
set -a LAN_IP=()
set -a LAN_State=()
local portOrder, wifiIP, wifiState, etherIP, etherState
# 「(数字 )の行を切り出す。
portOrder=$(networksetup -listnetworkserviceorder | grep "(\d) ")
#echo "$portOrder"
# Wi-Fi setting
Nwifi=$(( $(echo $portOrder | grep "Wi-Fi$" | cut -c2) ))
LAN_Name=( Wi-Fi )
wifiIP=$(ipconfig getifaddr en1)
if [[ $wifiIP = "" ]]; then
wifiIP="not active: turned off"
wifiState="_"
else
wifiState="*"
fi
LAN_IP=( $wifiIP )
LAN_State=( $wifiState )
#echo "Nwifi=$Nwifi"
# Ethernet setting
Nether=$(( $(echo $portOrder | grep "Ethernet$" | cut -c2) ))
etherIP=$(ipconfig getifaddr en0)
if [[ $etherIP = "" ]]; then
etherIP="not active: turned off"
etherState="_"
else
etherState="*"
fi
if [[ $Nwifi -gt $Nether ]] ; then
LAN_Name=( Ether $LAN_Name )
LAN_IP=( $etherIP $LAN_IP )
LAN_State=( $etherState $LAN_State )
else
LAN_Name=( $LAN_Name Ether )
LAN_IP=( $LAN_IP $etherIP )
LAN_State=( $LAN_State $etherState )
fi
#echo $LAN_Name
#echo $LAN_IP
#echo $LAN_State
#
#echo " (1) $LAN_Name[1]:\"$LAN_State[1]\" $LAN_IP[1] "
#echo " (2) $LAN_Name[2]:\"$LAN_State[2]\" $LAN_IP[2] "
}
# 実行
getLANportsOrder
getHostInfo
____ このページの履歴
- 開始 2015-04-12(日) 22:47:56
- 修正 2015-04-13(月) 13:42:55 スクリプト: 不要部分を削除。

0 件のコメント:
コメントを投稿