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


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コマンドで処理をする感じです。
簡単にできるし、いろいろと応用が聞くので覚えて於いた方がよろしいです。私が。

以上です。


関連記事


コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!