Bashのforループコマンドの使い方を徹底解説!自動化の第一歩
仕事でも家庭でも、テクノロジーを活用して生活を楽にする最良の方法の一つが「自動化」です。スクリプトや定时実行ジョブでタスクを自動化すれば、時間・手間・ストレスを大幅に節約できます。しかし、何から始めればよいのか分からないという方も多いはず。この記事では、IT自動化の基礎となるツールであるBashのforループコマンドの使い方を、初心者にも分かりやすく解説します。
テスト環境の準備
まず必要なのは、動作するBashの環境です。BashはLinux、Unix、BSD、macOSのターミナルにおけるデフォルトシェルです(zshを使用している場合を除く)。現在どのシェルを実行しているか確認するには、ターミナルで以下のコマンドを入力します。
echo $SHELL
使用中のシェルが表示されます。筆者の場合は/bin/bashと出力されました。これで狙い通りの環境が整っていることが確認できます。
次にテキストエディタが必要です。どのエディタを選んでも問題ありません。筆者はターミナル上でNanoを使っていますが、VimやEmacsなどのCUIエディタでも、Gedit、Kate、SublimeのようなGUIエディタでも構いません。
touchコマンドを使うか、エディタ名とファイル名を直接指定して、スクリプトファイルを作成しましょう。例えばNanoなら、nano for-loop-test.shと入力するだけで準備完了です。
Bashのforループ:基本編
Bashのforループは、指定した範囲のオブジェクトに対して反復処理(イテレーション)を行い、それぞれに指定したコマンドを実行するようシェルに指示します。言葉で説明してもイメージしにくいので、実際の例を見てみましょう。以下はごく基本的なforループです。
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Test round $i"
done
最初の行 for i in 1 2 3 4 5 では、変数「i」と1から5までの範囲を指定しています。ここにはより複雑な数列や、ファイルのリスト、ディレクトリなどを指定することも可能です。
続く部分は基本的な書式で、実行したいコマンドはインデント(タブ)された箇所に記述します。doとdoneはforループ構文の一部であり、必ず必要です。このスクリプトを実行すると、以下のような出力が得られます。
Test round 1 Test round 2 Test round 3 Test round 4 Test round 5
変数がどのように使われているかお分かりでしょうか。変数のおかげで、入力範囲内の各オブジェクトを個別に識別できるのです。
波括弧を使った数値範囲の指定
少し複雑な数値範囲を指定したい場合は、波括弧(中括弧)を使うと便利です。先ほどの同じ範囲は、for i in 1 2 3 4 5をfor i in {1..5}に変更することで表現でき、出力結果もまったく同じになります。
さらに、増分を指定することもできます。以下の例では、0から27までの数字を3ずつカウントアップしています。
#!/bin/bash
for i in {0..27..3}
do
echo "Count: $i"
done
ファイルへのコマンド実行
スクリプトでより一般的な使い方は、複数のファイルに対して特定のコマンドを実行することです。例えば、あるディレクトリ内の複数のファイルにcatコマンドを使いたい場合は、スクリプトを以下のように変更します。
#!/bin/bash
for file in test-directory/*
do
cat "$file"
done
これにより、「test-directory」内のすべてのファイルの内容がターミナルに出力されます。筆者の環境での出力結果は以下の通りです。
まとめ
forループがいかに強力であるか、少しずつイメージできてきたのではないでしょうか。ここで紹介したのはほんの入り口に過ぎません。doとdoneの間に複数のコマンドを連結したり、条件文(if文など)を組み合わせて、さらに複雑な処理を作ることもできます。
日常的な繰り返し作業を自動化することで、作業効率は飛躍的に向上します。まずは簡単なスクリプトから試してみて、徐々に応用範囲を広げていくのがおすすめです。ぜひ本記事を参考に、Bashによる自動化の第一歩を踏み出してみてください。
-
tcpdumpを使ったパケットキャプチャの基本と実践テクニック
パケットキャプチャは、ネットワークの内部動作を分析するために非常に有用な手法です。この目的のために開発されたツールは数多くありますが、その中でも定番として広く使われているのが「tcpdump」です。本記事では、ネットワークエンジニアやペネトレーションテスターにとって欠かせないこの強力なツールを最大限に活用する方法を、基本から順を追って解説します。tcpdumpとは?tcpdumpは、1988年にローレンス・バークレー研究所(Lawrence Berkeley Laboratory)のNetwork Research Groupに所属するコンピュータ科学者たちによって開発・公開されたネットワーク
-
テレビをWindows 11 PCのモニターとして使う方法【HDMI接続・ワイヤレスキャスト完全解説】
Netflixで映画を見ているときや、友人とゲームをしているとき、「パソコンの画面がちょっと小さいな」と感じたことはありませんか?実は、その悩みを解決してくれる答えはリビングルームにあります。テレビはパソコンのディスプレイとして活用でき、最近ではスマートTVを使う人が非常に多いため、接続も簡単になっています。この記事を最後まで読めば、Windows 11 PCでテレビをモニターとして使う方法と、Windows 11をテレビに接続する手順をマスターできます。 Windows 11 PCでテレビをモニターとして使う方法 Windows 11 PCの画面をテレビに表示する方法は主に2つあります。ひ