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

    まとめ

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

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


    について解説しました。

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

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

    LINEで送る
    Pocket

    SEからWebエンジニアへ転職した理由

    侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

    SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

    弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

    「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
    更新日 : 2019年10月7日

    書いた人

    侍ブログ編集部

    侍ブログ編集部

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

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説