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

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

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

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です