シェルスクリプト
- シェルスクリプトとは
- 毎回コマンドラインに入力するのが手間だ😟
ってときにファイルにコマンドラインを 記述しておくことで、
あとはファイルを実行するだけでよく作業の自動化、効率化が 可能。
シェルスクリプトを作成するメリット
- 同じ処理を実行したい際に再利用が可能
- 他社に配布することができる
- コマンドを打ち間違える事による作業ミスをなくすことができる
シェルスクリプトの作り方
- 拡張子は慣習的に
.sh
をつけているがなくてもOK - ファイル内の先頭に必ず
シェバン
=#!/bin/bash
を記述 - ファイル内にスクリプトを記述
シェバン
=#!/bin/bash
を記述
- シェバンって?
- Linuxカーネルにこのシェルスクリプトを/bin/bashで動かしてくださいね。と伝えるためのおまじない
シェルスクリプトの実行
- 作成したシェルスクリプトに実行権限を追加 ->
chmod +x <ファイル名>
- ファイル名を指定して実行。※この時単にファイル名の指定ではエラーになる
$ example.sh
-bash: example.sh: command not found
$ ./example.sh
シェルスクリプトの処理内容
制御構文
if
,for
,case
,when
などのプログラムを制御するための便利な構文。
if文
条件分岐を行える。
記述例
#!/bin/bash
if [ "$1" = "bin" ]; then
echo "OK"
else
echo "NG"
fi
if
の後の[
は実はコマンドです。
コマンドなので前後にスペースが必要。
[ コマンドについて
引数に与えられた条件式を判定して正しければ0,そうでなければ0以外の終了ステータスを返す。
- 終了ステータスとは
- 全てのコマンド終了時に帰ってくるステータスで整数値で返ってくる
- 正常終了時
- 0
- エラー時
- 0以外の値
シェルスクリプトで使用するif
はこの終了ステータスによって条件分岐をしているんだね💡
条件式に使用する比較演算子一覧
文字列の比較
記号 | 意味 |
---|---|
= | 左辺と右辺が等しい |
!= | 左辺と右辺が等しくない |
-n | 引数に与えた文字列ではない |
数値の比較
記号 | 意味 |
---|---|
-eq | 左辺と右辺が等しい |
-ne | 左辺と右辺が等しくない(not equal) |
-lt | 左辺が右辺より小さい(less than) |
-le | 左辺と右辺以下(less equal) |
-gt | 左辺が右辺より大きい(greater than) |
-ge | 左辺が右辺以上(greater than) |
まとめ
シェルスクリプトはカスタマイズ性が高いことに感心しました。
実務においてはよく使用する操作、一連の流れみたいなのができると思うので、
そういった際にシェルスクリプトを組んで作業を効率化することで、
開発に多くの時間を割くことができ、高い生産性を発揮できるのだと実感しました🧐 🧐