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で開発を行う上で、シェルスクリプトを使う機会は多いので使い方についてはよく理解しておきましょう。
もし、シェルスクリプトの使い方を忘れてしまったら、この記事を参考にしてくださいね。