Linux
 Computer >> コンピューター >  >> システム >> Linux

Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

仕事でも家庭でも、テクノロジーを活用して生活を楽にする最良の方法の一つが「自動化」です。スクリプトや定时実行ジョブでタスクを自動化すれば、時間・手間・ストレスを大幅に節約できます。しかし、何から始めればよいのか分からないという方も多いはず。この記事では、IT自動化の基礎となるツールであるBashのforループコマンドの使い方を、初心者にも分かりやすく解説します。

テスト環境の準備

まず必要なのは、動作するBashの環境です。BashはLinux、Unix、BSD、macOSのターミナルにおけるデフォルトシェルです(zshを使用している場合を除く)。現在どのシェルを実行しているか確認するには、ターミナルで以下のコマンドを入力します。

echo $SHELL

使用中のシェルが表示されます。筆者の場合は/bin/bashと出力されました。これで狙い通りの環境が整っていることが確認できます。

Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

次にテキストエディタが必要です。どのエディタを選んでも問題ありません。筆者はターミナル上で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までの範囲を指定しています。ここにはより複雑な数列や、ファイルのリスト、ディレクトリなどを指定することも可能です。

続く部分は基本的な書式で、実行したいコマンドはインデント(タブ)された箇所に記述します。dodoneはforループ構文の一部であり、必ず必要です。このスクリプトを実行すると、以下のような出力が得られます。

Test round 1
Test round 2
Test round 3
Test round 4
Test round 5
Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

変数がどのように使われているかお分かりでしょうか。変数のおかげで、入力範囲内の各オブジェクトを個別に識別できるのです。

波括弧を使った数値範囲の指定

少し複雑な数値範囲を指定したい場合は、波括弧(中括弧)を使うと便利です。先ほどの同じ範囲は、for i in 1 2 3 4 5for i in {1..5}に変更することで表現でき、出力結果もまったく同じになります。

さらに、増分を指定することもできます。以下の例では、0から27までの数字を3ずつカウントアップしています。

#!/bin/bash
for i in {0..27..3}
do
    echo "Count: $i"
done
Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

ファイルへのコマンド実行

スクリプトでより一般的な使い方は、複数のファイルに対して特定のコマンドを実行することです。例えば、あるディレクトリ内の複数のファイルにcatコマンドを使いたい場合は、スクリプトを以下のように変更します。

#!/bin/bash
for file in test-directory/*
do
    cat "$file"
done
Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

これにより、「test-directory」内のすべてのファイルの内容がターミナルに出力されます。筆者の環境での出力結果は以下の通りです。

Bashのforループコマンドの使い方を徹底解説!自動化の第一歩

まとめ

forループがいかに強力であるか、少しずつイメージできてきたのではないでしょうか。ここで紹介したのはほんの入り口に過ぎません。dodoneの間に複数のコマンドを連結したり、条件文(if文など)を組み合わせて、さらに複雑な処理を作ることもできます。

日常的な繰り返し作業を自動化することで、作業効率は飛躍的に向上します。まずは簡単なスクリプトから試してみて、徐々に応用範囲を広げていくのがおすすめです。ぜひ本記事を参考に、Bashによる自動化の第一歩を踏み出してみてください。

  1. tcpdumpを使ったパケットキャプチャの基本と実践テクニック

    パケットキャプチャは、ネットワークの内部動作を分析するために非常に有用な手法です。この目的のために開発されたツールは数多くありますが、その中でも定番として広く使われているのが「tcpdump」です。本記事では、ネットワークエンジニアやペネトレーションテスターにとって欠かせないこの強力なツールを最大限に活用する方法を、基本から順を追って解説します。tcpdumpとは?tcpdumpは、1988年にローレンス・バークレー研究所(Lawrence Berkeley Laboratory)のNetwork Research Groupに所属するコンピュータ科学者たちによって開発・公開されたネットワーク

  2. テレビをWindows 11 PCのモニターとして使う方法【HDMI接続・ワイヤレスキャスト完全解説】

    Netflixで映画を見ているときや、友人とゲームをしているとき、「パソコンの画面がちょっと小さいな」と感じたことはありませんか?実は、その悩みを解決してくれる答えはリビングルームにあります。テレビはパソコンのディスプレイとして活用でき、最近ではスマートTVを使う人が非常に多いため、接続も簡単になっています。この記事を最後まで読めば、Windows 11 PCでテレビをモニターとして使う方法と、Windows 11をテレビに接続する手順をマスターできます。 Windows 11 PCでテレビをモニターとして使う方法 Windows 11 PCの画面をテレビに表示する方法は主に2つあります。ひ