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

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

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

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

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