クラウド・インフラの用語一覧へ
このページの目次

シェルスクリプトとは?

読み方:シェルスクリプト

最終更新:2026/08/18

3秒でわかる

複数のコマンドを手順としてファイルにまとめたもの。バックアップやデプロイなど、同じ作業を毎回同じ結果で繰り返し、自動実行させるために使います。

もう少し詳しく

どういうものか

シェルスクリプトは、端末に打ち込むコマンドをファイルに並べ、まとめて実行できるようにしたものです。先頭行に #!/bin/bash のような指定を書き、実行権限を付けると、ファイル名を打つだけで中身が上から順に走ります。変数条件分岐、繰り返し、関数が使えるため、単なる一覧ではなく手順書として組めます。

なぜ必要か

サーバーの作業は、同じ手順を何度も繰り返すことがほとんどです。バックアップ、ログの整理、デプロイ前の確認などを毎回手で打つと、打ち間違いや順番の飛ばしが必ず起こります。スクリプトにしておくと、手順そのものがファイルとして残るので、担当が変わっても同じ結果になり、変更履歴も git で追えます。cron に登録すれば夜間に自動で走らせられます。

具体例

#!/bin/bash set -euo pipefail SRC="/var/www/app" DEST="/backup/app-$(date +%Y%m%d).tar.gz" if [ ! -d "$SRC" ]; then echo "対象が見つかりません $SRC" >&2 exit 1 fi tar czf "$DEST" "$SRC" find /backup -name 'app-*.tar.gz' -mtime +7 -delete echo "完了 $DEST"

2 行目の set -euo pipefail は、エラーが起きた時点で止め、未定義変数を検出し、パイプの途中の失敗も見逃さない指定です。この 1 行の有無で事故の量が変わります。

つまずきやすいところ

変数を "$SRC" のように引用符で囲まないと、パスに空白が含まれた瞬間に別の引数として分割され、意図しないファイルを消す事故につながります。もうひとつは = の前後にスペースを入れる誤りで、NAME = value と書くと NAME というコマンドを実行しようとして失敗します。実行権限の付け忘れによる Permission denied も定番で、chmod +x が要ります。

似た用語との違い

用語指すもの
シェルコマンドを解釈して実行するプログラム本体
シェルスクリプトシェルに読ませる手順を書いたファイル
ワンライナーファイルにせずその場で打つ 1 行の処理


覚え方

端末に 3 回打った操作は、スクリプトにする合図です。手で打つ限りは手順が誰の記憶にも残らず、4 回目に誰かが順番を間違えます。ファイルにした瞬間、その手順はレビューできる資産に変わり、引き継ぎの説明も差分を見せるだけで済みます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地シェルスクリプトインフラ

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Linux入門:コマンド操作のきほん

68レッスン
コース

サーバー構築入門 nginx・systemd・デプロイ

51レッスン
コース

LinuC レベル1(LPIC-1対応)対策

62レッスン
Linuxコースの全編を見る