【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とは何か?初心者目線でやさしく解説してみた
    更新日 : 2022年7月28日

    まとめ

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

    • シェルとは
    • シェルスクリプトの書き方
    • if文による条件分岐
    • for文による繰り返し処理
    について解説しました。

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

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

    [programing_basis]

    挫折しないプログラミングスクールNo.1
    侍エンジニア

    ✔ 目的に合わせたオリジナルカリキュラム
    ✔ 現役エンジニアによる専属マンツーマンレッスン
    ✔ あなただけのオリジナルサービス開発
    ✔ 挫折させない充実のサポート
    ✔ 教材の数は40種類以上
    ✔ 受講実績35,000人以上
    ✔ 転職成功率99%

    詳しくはこちら

    Writer

    侍エンジニア編集部

    株式会社SAMURAI

    侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

    あなたの目的に合わせた
    SAMURAI ENGINEERの運営サービス

    SAMURAI ENGINEER Pro

    未経験でも挫折しないプログラミングスクール

    詳細はこちら

    SAMURAI TERAKOYA

    日本最大級のサブスク型オンラインITスクール

    詳細はこちら

    SAMURAI ENGINEER Freelance

    「一人で稼げる」スキルを身につける

    詳細はこちら
    Close