入力する時に引数を取りたい年頃

ネタ的にはだいぶ前の話です。

1回でドメインを正引きして逆引きするというのがやりたくて、ブラウザ上ではよく見かけるのですが、コマンドラインから使えるようにしたかったが、探しても見つからなかったのでスクリプトを作ってみました。

出来上がったのがこれ

#!/bin/sh
echo -n "Domain? > "
read ip
kiriwake=`nslookup $ip | grep NXDOMAIN | grep -o -e "NXDOMAIN"`
if  [ "NXDOMAIN" != "${kiriwake}" ];
then
abc=`nslookup $ip | sed -n '6p' | grep -o -e '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+'`;
echo Address: $abc;
xyz=`nslookup $abc | sed -n '5p'`;
echo Hostname: $xyz;
whois $ip | sed -n '6,24p'
elif [ "NXDOMAIN" = "${kiriwake}" ];
then echo no nslookup
break
fi

実はもうずいぶんと前から利用中なのですが、ブログには書いてませんでした。
理由はなんとなく(笑)

ほいで、今のスクリプトだとコマンドを叩くとドメインはなんでっか?という表示をして、変数に入れるという形になってるのですが、何回もやる場合はやっぱりコマンドと同時に引数として入力した方がだんぜん効率が良いということに結構前から思ってたのだけど、やっとですが変えてみた。

2段階だったのを”コマンド 引数”で1段階で結果が変えるようにしました。
原付から小型バイクになった感じです。

#!/bin/sh
ip=$1
kiriwake=`nslookup $ip | grep NXDOMAIN | grep -o -e "NXDOMAIN"`
if  [ "NXDOMAIN" != "${kiriwake}" ];
then
abc=`nslookup $ip | sed -n '6p' | grep -o -e '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+'`;
echo Address: $abc;
xyz=`nslookup $abc | sed -n '5p'`;
echo Hostname: $xyz;
whois $ip | sed -n '6,24p'
elif [ "NXDOMAIN" = "${kiriwake}" ];
then echo no nslookup
break
fi

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *