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