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コマンドで処理をする感じです。
簡単にできるし、いろいろと応用が聞くので覚えて於いた方がよろしいです。私が。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す