【Linux入門】shellとは?作り方から実行方法までを解説!

Linuxではコマンドをまとめて記述したり、プログラミングのように命令文を記述することができるシェル(shell)があります。

ここでは「シェル」について以下の内容で解説していきます。

  • シェルとは
  • シェルの書き方
  • シェルによる条件分岐
  • シェルによる繰り返し処理
  • この記事では「シェル」についてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

    目次

    シェル(shell)とは

    Linuxにはファイルシステムなど、OS(オペレーティングシステム)の各種制御を行うプログラムが備わっています。このプログラムは「シェル」と呼ばれ、「コマンド」という形でユーザーが使えるのです。

    そして、このコマンドをまとめたものを「シェルスクリプト」と呼びます。シェルスクリプトは、コマンドを1行1行処理させて最終目的を達成するという点で、Windowsにおけるバッチファイルに似ています。

    シェルスクリプトは、プログラミング言語のように条件分岐や繰り返し処理なども記述できます。

    シェルスクリプトの書き方

    ここではシェルスクリプトの書き方について解説していきます。

    シェルスクリプトを記述するには、拡張子「.sh」でファイルを作成します。

    $ vi shellscript.sh

    シェルスプリクトの書き方は簡単です。

    まず1行目にどのシェルを実行するかを記述します。

    #!/usr/bin/bash

    シェルにはいくつか種類がありますが、UNIX/Linuxで標準で使用されるのはbashです。bashは多くのLinux系ディストリビューションで使われています。

    bashについては以下の記事でも詳しく解説していますので、合わせて参考にしてください。

    続けて命令文を記述します。以下では「echo」コマンドで標準出力を実行しています。

    #!/usr/bin/bash
    echo hello world

    ファイルを作成したら保存して実行してみましょう。

    $ bash shellscript.sh

    「hello world」が出力されたら成功です!

    条件分岐ifを使ってみよう

    シェルスクリプトでは先述したようにif文による条件分岐処理が可能です。

    if文を使用すれば、年齢が20歳以上、以下で処理を分岐したい場合や日付を比較したい場合など、さまざまな条件を指定して処理を分岐することができます。

    if文は以下のように記述します。

    if [条件式]; then
    処理
    fi

    以下では2つの変数の値を比較しています。

    #!/usr/bin/bash
    NUM1=100
    NUM2=200
    
    if [ $NUM1 -lt $NUM2 ]; then
            echo 'NUM2のほうが大きい'
    fi

    実行結果:

    NUM2のほうが大きい

    シェルスクリプトではif文で使用する「>」は「-qt」となり、「<」は「-lt」となります。

    if文についての詳しい使い方については、以下の記事も合わせて参考にしてください。

    繰り返し処理forを使ってみよう

    シェルスクリプトではfor文による繰り返し処理も可能です。for分は以下のように記述します。

    for 変数 in リスト
    do
      処理
    done
    

    for文による繰り返しは、リストによって定義された値を順番に変数に代入して繰り返し実行します。

    例えば、1から5までの値を繰り返し実行して出力させたい場合は以下のように記述します。

    #!/usr/bin/bash
    for i in 1 2 3 4 5 6 7 8 9
    do
       echo $i
    done

    実行結果:

    1
    2
    3
    4
    5
    6
    7
    8
    9

    このサンプルでは、定義した1~9の値が1回のループ処理で1つずつ変数iに代入され、繰り返し処理の中でechoで変数の値を出力しています。

    for文についての詳しい使い方については、以下の記事も合わせて参考にしてください。

    Linuxについてもっと知りたい方へ

    そもそもLinuxについて、


    実はなんとなくしか理解していない…
    Linuxを効率よく学習する方法が知りたい

    といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!

    まとめ

    ここではLinuxで使用できるシェルスクリプトについて、

    • シェルとは
    • シェルスクリプトの書き方
    • if文による条件分岐
    • for文による繰り返し処理


    について解説しました。

    シェルスクリプトはコマンドをまとめて記述できたり、プログラミング言語のような分岐、繰り返し処理が可能です。Linuxで開発を行う上で、シェルスクリプトを使う機会は多いので使い方についてはよく理解しておきましょう。

    もし、シェルスクリプトの使い方を忘れてしまったら、この記事を参考にしてくださいね。

    この記事を書いた人

    【プロフィール】
    DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
    累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
    【専門分野】
    IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

    目次