0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

続 Linuxについて

Posted at

シェルスクリプト

シェルスクリプトとは
毎回コマンドラインに入力するのが手間だ😟
ってときにファイルにコマンドラインを 記述しておくことで、
あとはファイルを実行するだけでよく作業の自動化、効率化が 可能。

シェルスクリプトを作成するメリット

  • 同じ処理を実行したい際に再利用が可能
  • 他社に配布することができる
  • コマンドを打ち間違える事による作業ミスをなくすことができる

シェルスクリプトの作り方

  1. 拡張子は慣習的に.shをつけているがなくてもOK
  2. ファイル内の先頭に必ずシェバン = #!/bin/bashを記述
  3. ファイル内にスクリプトを記述

シェバン = #!/bin/bashを記述

シェバンって?
Linuxカーネルにこのシェルスクリプトを/bin/bashで動かしてくださいね。と伝えるためのおまじない

シェルスクリプトの実行

  1. 作成したシェルスクリプトに実行権限を追加 -> chmod +x <ファイル名>
  2. ファイル名を指定して実行。※この時単にファイル名の指定ではエラーになる
 $ 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)

まとめ

シェルスクリプトはカスタマイズ性が高いことに感心しました。
実務においてはよく使用する操作、一連の流れみたいなのができると思うので、
そういった際にシェルスクリプトを組んで作業を効率化することで、
開発に多くの時間を割くことができ、高い生産性を発揮できるのだと実感しました🧐 🧐

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?