2023.10.05
【Linux】シェルスクリプトのコマンド一覧

UnsplashFabian Quinteroが撮影した写真

はじめに

シェルスクリプトでよく使うコマンドをまとめました。

動作確認した環境

OS:Windows11 Home / WSL(Ubuntu20.04)

コメント

先頭に「#」をつける

# これはコメントです。

変数

■定義

[変数名]=[値]
例)str='Hello'

※「=」の両端はスペース禁止です!

■呼び出し

$[変数名]
例)$str

変数展開

変数展開をするには両端を「”(ダブルクオーテーション)」で囲みます。

変数展開の例)

echo "私の名前は$strです。"

四則演算

四則演算は以下のように「(())」で囲む必要があります。

((i=$i+1))

■演算子一覧

記号内容
a + b足し算
a – b引き算
a * b掛け算
a / b割り算
a % baでbを割った余り

数値の比較、文字列の比較

■数値の比較

記号trueとなる条件
-eq= 。左辺と右辺が等しい
-ne!= 。左辺と右辺が異なる
-gt> 。左辺が大きい
-lt< 。左辺が小さい
-ge>=。左辺が右辺以上
-le<=。左辺が右辺以下

■文字列の比較

記号trueとなる条件
-n 文字列文字列の長さが0よりも大きい
-z 文字列文字列の長さが0
=等しい
!=等しくない

論理演算子

記号内容
![条件]NOT
[条件1] -a [条件2]AND
[条件1] -o [条件2]OR

条件分岐

条件分岐は以下のようにします。

条件分岐の例)

if [ $color = 'blue' ] ; then
  echo 'GO'
elif [ $color = 'yellow' ] ; then
  echo 'CAUTION'
else
  echo 'STOP'
fi

繰り返し

繰り返し処理は以下のように書きます。

繰り返しの例)

$i=0
while [ $i -lt 5 ] ; do
  echo "現在のカウントは$iです"
  ((i=$i+1))
done

関数

関数の定義と呼び出しは以下のようにします。

#定義
function [関数名] ()
{
  処理
  return [戻り値]
}

#呼び出し
[関数名] [引数1] [引数2]

※引数は$1~$9で受け取ります。
※戻り値は数値しか渡せません。

関数を使う例)

#定義
function func1()
{
  echo 'func1です!'
  echo "引数1は$1、引数2は$2です!"
  return 1
}

#呼び出し
func1 val1 val2

※戻り値は関数実行後に「$?」で取得できます。

正常に関数が動くと以下のようになります。

シェルスクリプトの定義・呼び出し

■定義

#!/bin/bash
 ~~処理~~
exit [戻り値]

■呼び出し

シェルスクリプトを呼び出す際はファイルのパスを「`(バッククオート)」で囲みます。

#!/bin/bash
`[シェルスクリプトのパス]`
echo $?   ⇐戻り値は「$?」で受け取る