【しぇるすくりぷと】

シェルスクリプト とは?

最終更新:
💡 コマンドを「自動実行する台本」、繰り返しの手作業をスクリプトにおまかせ

シェルのコマンドを複数組み合わせてファイルに書いたスクリプト。定型作業の自動化・システム管理・CI/CDパイプラインなどに広く使われる。

📌 このページのポイント
シェルスクリプト:作業の台本 手入力する ファイルにまとめる $ echo "開始" $ date $ echo "完了" #!/bin/bash echo "開始" date echo "完了" コマンドを1つずつ bash task.sh で実行 同じ手順を再利用して、定型作業を自動化 実行するシェルや環境に合わせて確認する
Bashの表示例。シェルスクリプトはコマンドをまとめたテキストファイルです。
ひよこ ひよこ
シェルスクリプトって何に使うの?
ペンギン先生 ペンギン先生
コマンドを組み合わせて定型作業を自動化するんだよ。たとえばログを圧縮して保管する処理をファイルにまとめれば、同じ手順を繰り返し実行できるね
ひよこ ひよこ
Pythonとの違いは?
ペンギン先生 ペンギン先生
シェルスクリプトは、すでにあるコマンドをつなぐ処理に向いているよ。複雑なデータ処理ならPythonなども選択肢になるね。行数だけで決めず、読みやすさや保守のしやすさで選ぼう
ひよこ ひよこ
CI/CDでも使うの?
ペンギン先生 ペンギン先生
GitHub Actionsのrunステップでも使うよ。ただし実行するシェルは環境や設定によって違うんだ。Bashの構文を使うなら、そのステップがBashで動くか確認しようね
ひよこ ひよこ
シェルスクリプトでよくやる失敗って何?
ペンギン先生 ペンギン先生
パスの変数を引用符で囲まないと、空白で分割されたりワイルドカードが展開されたりするんだ。ただし引用符だけでは空の値や誤ったパスは防げないよ。削除前には値と実際の対象も確認しようね
ひよこ ひよこ
エラーが起きたら自動で止まるの?
ペンギン先生 ペンギン先生
通常は失敗後も次のコマンドへ進む場合があるよ。Bashのset -eやpipefailは失敗を検出する助けになるけれど、条件式などには例外があるんだ。重要な処理は終了ステータスも確認しようね
もっと詳しく知りたい人へ

変数が空のままパスを使わないようにするには?

Bashでは${DIR:?対象ディレクトリを指定してください}のような展開で、DIRが未設定または空ならエラーにできます。ただし誤った有効なパスまでは防げないので、対象を引用符で囲むことに加え、削除や移動の前に実際のパスが意図した範囲内か確認してください。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シェルスクリプト」って出てきたら「シェルのコマンドをまとめた作業の台本」と思えばだいたいOK!
📖 おまけ:英語の意味
「Shell Script」 = シェルのスクリプト(台本)
💬 シェルに実行させるコマンドをファイルにまとめた「台本」と考えると分かりやすいよ

参考資料

← 用語集にもどる