シェルスクリプトプログラミングチュートリアル
シェルのスクリプトプログラミングは、UnixやLinuxのシステムにおいて、タスクを自動化したり、バッチ処理などのプログラムを作成する方法の一つであり、ここではシェルのスクリプトプログラミングの簡単なチュートリアルとして、基本的な概念や、良く使われる記法のいくつかをご紹介します。
- シェルスクリプトファイルを作成
まず、テキストファイルを作成し、拡張子を.shに変更します例:my_script.sh
- スクリプトのシェバンを追加する
スクリプトファイルの最初の行に、shebang(#!)を付け加えて使用するシェルインタプリタを指定します。例えば、Bashインタプリタを使用する場合は、shebangを#!/bin/bashとします。
- 脚本を執筆する
スクリプトファイルでは、特定のタスクを実行するためのコマンドとステートメントのシーケンスを記述できます。以下は、現在の日時を出力するためのシェルスクリプトの簡単な例です。
#!/bin/bash
current_date=$(date +"%Y-%m-%d")
current_time=$(date +"%H:%M:%S")
echo "Current date: $current_date"
echo "Current time: $current_time"
この例では、スクリプトはdateコマンドを使って現在の日付と時刻を取得し、echoコマンドを使ってそれをスクリーンに出力しています
- スクリプトを実行する
スクリプトを実行するには、端末に以下のコマンドを入力する必要があります。
$ chmod +x my_script.sh
$ ./my_script.sh
最初のコマンド chmod +x はスクリプトファイルを実行可能な権限に設定するために使われます。2 番目のコマンド ./my_script.sh はスクリプトの実行に使用されます。
- スクリプトの制御フローと変数
シェルスクリプトはif文やforループ、whileループといった各種制御フロー文をサポートしており、条件分岐や繰り返し処理などを実現できます。また、変数を使用してデータの格納や操作を行うことができます。
一般的な制御フローおよび変数構文の例をいくつか示します。
if 文
if [ $num -eq 0 ]; then
echo "Number is zero"
elif [ $num -gt 0 ]; then
echo "Number is positive"
else
echo "Number is negative"
fi
forループ:
for i in {1..5}; do
echo "Number: $i"
done
whileループ
while [ $num -lt 10 ]; do
echo "Number: $num"
num=$((num + 1))
done
変数の代入:
name="John Doe"
age=25
変数参照
echo "Name: $name"
echo "Age: $age"
シェルスクリプトプログラミングの基本とよく使われる構文について学びました。学習と実践を積み重ねることで、シェルスクリプトの理解を深め、より複雑なタスクに使用できるようになります。