2
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?

【Linux】シェルスクリプトの基本文法を動かしながら学ぶ

Posted at

はじめに

シェルスクリプトは、LinuxやmacOSなどのUnix系OSでタスクを自動化するための強力なツールです。ファイル操作やシステム管理、ソフトウェアインストールなど、さまざまな処理を簡単に実行できます。この記事では、シェルスクリプトの基本的な文法と主要なコマンドを、実際に動作確認をしながら学んでいきます。

シェルスクリプトとは?

シェルスクリプトは、シェル(コマンドラインインターフェース)を使って複数のコマンドを自動化するためのスクリプトです。シェルは、Unix系のオペレーティングシステムにおいて、ユーザーとOSの間でコマンドの入力と出力を処理するプログラムです。シェルスクリプトは、タスクを自動化するためにシェルに書かれる一連のコマンドです。

このチュートリアルでは、シェルスクリプトを使った基本的な操作を実際に試しながら学びます。

シェルスクリプトの基本文法

1. シェルスクリプトの作成と実行

シェルスクリプトは、.shという拡張子を持つファイルとして作成します。以下の手順で、シェルスクリプトを作成して実行してみましょう。

1. テキストエディタを開いて、以下の内容をmyscript.shという名前で保存します。
#!/bin/bash
echo "Hello, World!"
  • 最初の行#!/bin/bashは**シバン(Shebang)**と呼ばれ、スクリプトがどのシェルで実行されるべきかを指定します。ここではBashシェルを使用する事を指定しています。
  • 次の行は、シェルに「Hello, World!」と出力させるコマンドです。
2. 保存したスクリプトファイルを実行可能にするために、以下のコマンドを実行します。
chmod +x myscript.sh
3. スクリプトを実行します。
./myscript.sh

このスクリプトを実行すると、ターミナルにHello, World!と表示されるはずです。

2. 変数の使い方

シェルスクリプトでは、変数を使ってデータを格納したり、計算を行ったりできます。変数の代入や使用方法を確認しましょう。

例1: 変数の代入と使用

#!/bin/bash
name="Alice"
echo "Hello, $name!"
  • 変数は変数名=valueという形式で代入します。
  • 変数の値を参照するには$を使います。例えば、$nameで変数nameの値を取り出します。

このスクリプトを実行すると、次のように表示されます。

Hello, Alice!

例2: 数値の演算

#!/bin/bash
a=10
b=5
sum=$((a + b))
echo "Sum: $sum"
  • 数値の演算は$((式))の形式で行います。この例では、変数abの足し算を行い、その結果を変数sumに格納しています。

このスクリプトを実行すると、次のように表示されます。

Sum: 15

3. 条件分岐(if文)

シェルスクリプトでは、if文を使って条件に基づく処理を行うことができます。条件式は、通常[ 条件式 ]という形式で書きます。

例: if文の使い方

#!/bin/bash
age=20

if [ $age -ge 18 ]; then
  echo "You are an adult."
else
  echo "You are a minor."
fi
  • -geは「greater than or equal to」の意味で、$ageが18以上かどうかを判断しています。

このスクリプトを実行すると、次のように表示されます。

You are an adult.

条件式演算子の例

  • -eq: 等しい
  • -ne: 等しくない
  • -gt: より大きい
  • -ge: 以上
  • -lt: より小さい
  • -le: 以下

4. ループ処理(for文、while文)

シェルスクリプトでは、for文やwhile文を使って繰り返し処理を行えます。

例1: for文

#!/bin/bash
for i in {1..5}
do
  echo "Number: $i"
done
  • {1..5}は1から5までの数字を順番に取り出して、$iに格納します。

このスクリプトを実行すると、次のように表示されます。

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

例2: while文

#!/bin/bash
count=1
while [ $count -le 5 ]
do
  echo "Number: $count"
  ((count++))
done
  • while文では、条件が真である限り繰り返し処理を行います。ここでは、$countが5以下の間、countを1ずつ増やして繰り返し表示します。

このスクリプトを実行すると、次のように表示されます。

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

5. 関数の定義と使用

シェルスクリプトでは、関数を定義して処理を分割することができます。関数はfunctionキーワードを使って定義します。functionキーワードは省略することもできます。

例: 関数の定義と呼び出し

#!/bin/bash

func1() {
  echo "Hello, $1!"
}

function func2() {
  echo "Hi, $1!"
}

func1 "Alice"
func2 "Bob"
  • 引数$1(関数に渡された最初の引数)を使ってメッセージを表示する関数です

このスクリプトを実行すると、次のように表示されます。

Hello, Alice!
Hi, Bob!

おわりに

シェルスクリプトは非常に強力なツールであり、システム管理やタスクの自動化、複雑な操作を簡潔に記述することができます。この記事では、シェルスクリプトの基本的な文法と主要なコマンドを紹介しました。

  • 変数の使用
  • 条件分岐(if文)
  • ループ処理(for文、while文)
  • 関数の定義と使用

これらの基本的な文法を使いこなせるようになることで、シェルスクリプトを活用した自動化やシステム管理がより効率的に行えるようになります。ぜひ、実際に手を動かして試してみてください。

2
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
2
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?