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

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

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

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

    シェル(shell)とは

    シェル(shell)とは、Linux上で使用できるコマンドをまとめて記述して実行できるものでシェルスクリプトとも呼びます。

    また、シェルはLinuxカーネルと対話するための意味合いも持ち、シェルを実行することでカーネルのさまざまな処理を行うことができます。

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

    シェルの書き方

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

    シェルスクリプトを記述するには、拡張子「.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とは何か?初心者目線でやさしく解説してみた
    更新日 : 2020年7月30日

    まとめ

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

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


    について解説しました。

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

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

    LINEで送る
    Pocket

    「プログラミング、右も左もわからない…」という方にオススメ

    当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

    その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

    侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

    cta_under_bnr

    「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

    書いた人

    侍ブログ編集部

    侍ブログ編集部

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

    おすすめコンテンツ

    いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

    転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー