Skip to content

基本的な作成方法#

もちろん、シェルスクリプトの基本的な作成方法を説明します。

  1. テキストエディタの選択: シェルスクリプトを書くためには、テキストエディタを使用します。例えば、vimnanoemacsなどが使えます。

  2. スクリプトの作成:

    nano myscript.sh
    

  3. スクリプトにシバン(#!)を追加: スクリプトの最初の行に以下のように書きます。

    #!/bin/bash
    

  4. コマンドを書く: 例として、"Hello, World!"を表示するスクリプトを書きます。

    echo "Hello, World!"
    

  5. スクリプトの保存と終了: nanoを使用している場合、Ctrl + O で保存し、Ctrl + X で終了します。

  6. 実行権限の付与: スクリプトに実行権限を与えるためには、以下のコマンドを実行します。

    chmod +x myscript.sh
    

  7. スクリプトの実行: スクリプトを実行するには、以下のようにします。

    ./myscript.sh
    

これで、シェルスクリプトが"Hello, World!"と出力されるはずです。

上記は非常に基本的なシェルスクリプトの例ですが、シェルスクリプトは非常に強力で、複雑なタスクを自動化することができます。

演算子#

シェルスクリプトにおける演算子は、様々な操作や比較を行うためのものです。

了解しました。以下は、シェルスクリプトにおける主な演算子を一覧表にまとめたものです。

1.算術演算子:#

演算子 説明
+ 足し算
- 引き算
* 掛け算
/ 割り算
% 剰余

bashの場合、整数の算術演算を行うには$((...))またはletを使用します。

a=5
b=3

echo $((a + b))  # 8
echo $((a - b))  # 2
echo $((a * b))  # 15
echo $((a / b))  # 1
echo $((a % b))  # 2

2.比較演算子 (整数):#

演算子 説明
-eq 等しい
-ne 等しくない
-gt より大きい
-lt より小さい
-ge 以上
-le 以下

整数の比較:

a=5
b=3

if [ $a -eq $b ]; then
    echo "a is equal to b"
elif [ $a -ne $b ]; then
    echo "a is not equal to b"
fi

# その他の比較演算子:
# -gt (greater than)
# -lt (less than)
# -ge (greater than or equal to)
# -le (less than or equal to)

3.比較演算子 (文字列):#

演算子 説明
= 等しい
!= 等しくない
-z 文字列の長さが0
-n 文字列の長さが0より大きい

文字列の比較:

str1="hello"
str2="world"

if [ "$str1" = "$str2" ]; then
    echo "str1 is the same as str2"
elif [ "$str1" != "$str2" ]; then
    echo "str1 is not the same as str2"
fi

4.ブール演算子:#

演算子 説明
-a かつ (AND)
-o または (OR)
! 否定 (NOT)
a=5
b=3

if [ $a -eq 5 -a $b -eq 3 ]; then
    echo "Both conditions are true"
fi

# -a (and)
# -o (or)
# !  (not)

5.ファイルテスト演算子:#

演算子 説明
-e ファイルが存在する
-f 通常のファイル
-d ディレクトリ
-s ファイルが空でない
-r 読み取り可能なファイル
-w 書き込み可能なファイル
-x 実行可能なファイル
-L シンボリックリンク
file="/path/to/file"

if [ -e $file ]; then
    echo "File exists"
fi

# その他のファイルテスト演算子:
# -d (directory exists)
# -f (file exists and is a regular file)
# -s (file exists and is not empty)
# -r (file exists and is readable)
# -w (file exists and is writable)
# -x (file exists and is executable)

この表はbashの演算子を基に作成しています。他のシェルでの振る舞いやサポート状況を確認する場合は、該当するシェルのマニュアルやドキュメントを参照してください。

上記はbashの基本的な演算子の概要ですが、他のシェル(例:dash、zsh、ksh)でも似たような演算子が存在しますが、 一部の機能や振る舞いが異なる場合がありますので、特定のシェルのマニュアルやドキュメントを参照することをおすすめします。