シェルスクリプト

環境確認と最初のスクリプト

Bashが動く場所を確認し、最初のスクリプトを安全な練習場所で実行します。

シェルスクリプト入門の講座一覧

01

Bashと現在地を確認する

シェルスクリプトはターミナルで実行します。まず、使用中のシェル、Bashのバージョン、現在のディレクトリを表示します。

環境確認COMMAND
printf 'SHELL=%s\n' "$SHELL"
echo "$BASH_VERSION"
pwd
表示例OUTPUT
SHELL=/bin/bash
5.2.21(1)-release
/home/mity

表示されるパスやバージョンは環境によって違います。pwdは現在地を表示するコマンドなので、ファイルを作る前に確認する癖を付けましょう。

02

練習専用の場所を作る

作成や削除を伴う例は、専用のディレクトリで実行します。-pを付けると、途中のディレクトリもまとめて作成できます。

練習場所を作るCOMMAND
mkdir -p "$HOME/shellscript-practice"
cd "$HOME/shellscript-practice"
pwd
ls -la
表示例OUTPUT
/home/mity/shellscript-practice
total 8
drwxr-xr-x 2 mity mity 4096 ... .
drwx------ 8 mity mity 4096 ... ..
確認してから操作 rmやmvを実行する前に、必ずpwdとlsで対象を確認します。練習用ディレクトリ以外で削除例を試さないでください。
03

スクリプトファイルを作る

テキストエディターでhello.shを作り、先頭にシバンを書きます。シバンは、ファイルを直接実行するときに使うインタープリターを指定します。

hello.shBASH
#!/usr/bin/env bash

printf 'Hello, Bash!\n'
printf '現在地: %s\n' "$PWD"

ファイルを保存したら、まずBashへファイルを渡します。

実行COMMAND
bash hello.sh
実行結果OUTPUT
Hello, Bash!
現在地: /home/mity/shellscript-practice

$PWDは現在のディレクトリを表す環境変数です。環境変数はシェルが用意している値で、普通の変数と同じように参照できます。

04

実行権限を付ける

ファイルを直接実行するには、所有者へ実行権限を付けます。uは所有者、+は追加、xは実行権限です。

権限を付けて実行COMMAND
chmod u+x hello.sh
ls -l hello.sh
./hello.sh
表示例OUTPUT
-rwxr--r-- 1 mity mity 94 ... hello.sh
Hello, Bash!
現在地: /home/mity/shellscript-practice

./hello.shのように現在地を明示するのは、意図しない別のプログラムを実行しないためにも大切です。実行権限を付けても、書き込み権限まで全員へ与える必要はありません。

05

練習:自己紹介スクリプト

次の条件を満たすprofile.shを作ってください。

  1. シバンを書く
  2. nameとlanguageの2つの変数を作る
  3. printfで「名前さんはlanguageを学習中です。」と表示する
  4. bash profile.shで実行し、表示結果を確認する
解答例BASH
#!/usr/bin/env bash

name='Mity'
language='Bash'
printf '%sさんは%sを学習中です。\n' "$name" "$language"
実行結果OUTPUT
MityさんはBashを学習中です。

次は変数・引用・終了ステータスへ進み、空白を含む値やコマンドの成功・失敗を扱います。