自分のネットワーク環境を整備する為に、幾つかのスクリプトを作りました。忘れる前にメモしておきます。
1 myDate
2 myHost
4. myScanIP
上記のスクリプトの28行目の「dummy=1」と言う無意味は命令は、本来コメント「#」でしたが、そうすると次の「elif」がエラーとなるので挿入しました。この経験から、現在zshへ乗り換えをしようとしています。
【関連記事】
ーーーー このポストの履歴
- myDate: 自分のタイムスタンプ
- myHost: 自分のマシンのホスト名、localhostのIPアドレス
- myNet: 自分のマシンが属するネットワーク情報
- myScanIP: PINGを連続的にスキャンする。
- myDiskutil_list: 「diskutil list」のまんま
- myMount_disk1: 外付けhdd, disk1のマウント
- myUnmount_disk1: 外付けhdd, disk1のアンマウント
この内、1〜4は便利なので、公開しておきます。
1 myDate
#!/bin/bash date +'%Y-%m-%d(%a)%H:%M:%S'
2 myHost
#!/bin/bash # # myHost: 動作例=>「HOST: name=(div-mm.local); ip=(10.0.1.2)」 # # 参考: UNIXシェルスクリプト 逆引き大全 333極意 # p112, #84 文字列を指定した区切り文字で分割する。 getHostIP() { hostName=`hostname` localIP=`netstat -r -f inet |grep "localhost" | grep "UHS"` _IFS="$IFS" # save $IFS IFS=' ' set -- $localIP IFS="$_IFS" # 分割結果: # $1: host's IP address # $2: localhost # $3: UHS echo "HOST: name=($hostName); ip=(${1})" return } # 実行 getHostIP3. myNet
#!/bin/bash echo '"netstat -r -f inet"' echo " at `myDate`" netstat -r -f inetdiv
4. myScanIP
#!/bin/bash # # myScanIP [ipSpace ipStart ipWidth ] # #localIP=`netstat -r -f inet |grep localhost | grep UHS` localIP=`myHost` echo $localIP declare -i j k ipStart ipStop ipWidth noa j=1 #start k=5 #width # Default values ipSpace="192.168.1" ipStart=j ipWidth=k noa=$# #echo " Number of Arguments = $noa" #echo " ipSpace=${ipSpace}" #echo " ipStart=${ipStart}" #echo " ipWidth=${ipWidth}" if [ $noa -eq 0 ]; then damy=1 elif [ $noa -eq 1 ]; then ipSpace=$1 elif [ $noa -eq 2 ]; then ipSpace=$1 ipStart=$2 elif [ $noa -eq 3 ]; then ipSpace=$1 ipStart=$2 ipWidth=$3 fi ipStop=$ipStart+$ipWidth-1 if [ $ipStop -gt 256 ]; then ipStop=255 ipWidth=ipStop-ipStart+1 fi file="ipScan_${ipSpace}.${ipStart}~${ipStop}.txt" echo "======= myScanIP for ${ipSpace}.${ipStart}~${ipStop}" > $file echo "===== ping from ${localIP}" >> $file echo " Number of Arguments = $noa" >> $file echo " ipSpace=${ipSpace}" >> $file echo " ipStart=${ipStart}" >> $file echo " ipStop=${ipStop}" >> $file echo " ipWidth=${ipWidth}" >> $file echo "=== save file:'${file}'" >> $file timeStamp=`date +'%Y-%m-%d(%a)%H%M%S'` echo "* Scan start:_${timeStamp} " >> $file echo "======= scanIP for ${ipSpace}.${ipStart}~${ipStop} ==============" echo "===== ping from ${localIP}" echo " Number of Arguments = $noa" echo " ipSpace=${ipSpace}" echo " ipStart=${ipStart}" echo " ipStop=${ipStop}" echo " ipWidth=${ipWidth}" echo "=== save file:'${file}' " echo "* Scan start:_${timeStamp} " j=ipStart while [ $j -le $ipStop ]; do result=`ping -c 2 "${ipSpace}.$j"` yes_response="" yes_response=`echo "$result" |grep 'round-trip min/avg/max/stddev'` if [ "$yes_response" != "" ]; then echo "#ip=${j}: ${yes_response}" >>$file echo "#ip=${j}: ${yes_response}" else echo "_ip=${j}:non___" fi j=j+1 done timeStamp=`date +'%Y-%m-%d(%a)%H%M%S'` echo "* Scan stopped:_${timeStamp} " >> $file echo "* Scan stopped:_${timeStamp} " echo "========= myScanIP finished =============="
上記のスクリプトの28行目の「dummy=1」と言う無意味は命令は、本来コメント「#」でしたが、そうすると次の「elif」がエラーとなるので挿入しました。この経験から、現在zshへ乗り換えをしようとしています。
【関連記事】
ーーーー このポストの履歴
- 開始 2012-03-25 (日) 13:59
0 件のコメント:
コメントを投稿