ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

サーバー技術

CentOSで【for文】を使った便利機能

投稿日:2014年9月9日 更新日:

CentOSでシェルスクリプトを使った便利な機能というか、使い方をメモしておきます。

例えば、DNSの名前解決をするときに違ったIPアドレスでdigコマンドを繰り返すとき、いちいちアドレスを変更するのってめんどくさいっすよね。

そんなときにこのfor文を使うことによって繰り返し処理を実施してくれます。

簡単な繰り返し処理はfor文を使おう

それでは実際にfor文で繰り返し処理をしてみます。

今回は、名前解決「dig」コマンドを繰り返し処理するfor文の便利な使い方です。

まずは対象のIPアドレスを書いたテキストファイルを作成します。

# vi ip.txt

10.10.10.9
10.10.10.10
10.10.10.13
10.10.10.14
10.10.10.17
10.10.10.18
10.10.10.21
10.10.10.22
10.10.10.25
10.10.10.26
10.10.10.29

次に変数「I」を使用し、上記で作成したテキストファイルの中身を「cat」コマンドで呼び出し(echo)します。

# for I in `cat ip.txt`
> do
> echo $I
> done
10.10.10.9
10.10.10.10
10.10.10.13
10.10.10.14
10.10.10.17
10.10.10.18
10.10.10.21
10.10.10.22
10.10.10.25
10.10.10.26
10.10.10.29

こんな感じで出力されます。

上記を応用して、テキストファイルから、IPアドレスを呼び出しそれぞれdigコマンドで名前解決していきます。
最後に書いている「sleep1」はそれぞれの繰り返し処理を1秒づつ実施していくという意味です。

# for I in `cat ip.txt`; do echo $I; dig @localhost -x $I +noall +ans +norec ; sleep 1
;done
10.10.10.9

; <<>> DiG 9.9.3-P2 <<>> @localhost -x 10.10.10.9 +noall +ans +norec
; (2 servers found)
;; global options: +cmd
10.10.10.10

........
---省略

上記の用に連続で、テキストのIPアドレスを呼び出し、digコマンドで処理をする感じです。
簡単にできるし、いろいろと応用が聞くので覚えて於いた方がよろしいです。私が。

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術
-

Copyright© GOISBLOG , 2016 AllRights Reserved.