そもそもシェルスクリプトとは?
シェルスクリプトは、「シェル(Bash等)が解釈できる命令を並べたテキストファイル」です。拡張子は.shを付けるのが慣習で、中身はターミナルで打つコマンドをそのまま書くだけ。実行権限を付ければ、ファイル名で起動できる小さなプログラムになります。
例えば「Pythonの仮想環境を作って、ライブラリを入れて、実行する」を毎回手で打つ代わりに、setup.shというファイルを1つ作って実行すれば終わります。Linuxエンジニアは、繰り返し作業や確認作業をシェルスクリプトで効率化する場面が多くあります。
シェルスクリプトの基本構造
1行目の#!/bin/bashは「shebang(シバン)」と呼ばれ、「このファイルはBashで実行してください」という宣言です。これだけ書いておけば、あとは普通のコマンドを上から順に書くだけ。chmod +x hello.shで実行権限を付けて、./hello.shで起動します。
変数と条件分岐の例
シェルスクリプトには変数やif文もあります。name="太郎"と書けば変数nameに「太郎」が入り、echo "$name"で表示できます。条件分岐はif [ "$1" = "hello" ]; then echo "hi"; fiのような書き方で、ファイル数が10個以上なら警告を出すなどの処理が組めます。本格的なプログラミング言語ほど複雑ではないので、半日で基礎が掴めます。
シェルスクリプトでできること
中高生におすすめの使い方
「毎日宿題フォルダの中身を別のドライブにコピーする」「PCを起動したらVS Codeとブラウザを自動で開く」「写真フォルダから2026年のものだけを別フォルダに移動」など、毎日の繰り返し作業を1つスクリプト化するだけで便利さを実感できます。学校の課題で「100枚の画像をリネーム」のような処理があるとき、5行のスクリプトで終わります。
最初に作るなら、壊れても困らない練習用フォルダを用意し、echo で処理内容を表示するだけのスクリプトから始めましょう。いきなり削除や移動を実行せず、「どのファイルを対象にするか」を画面に出して確認してから本番処理に変えると安全です。
慣れてきたら、エラーが起きたときに止める set -e、変数が空のまま使われたときに気づける set -u、ログを残す tee なども学ぶと実用度が上がります。シェルスクリプトは短く書ける分、対象フォルダを間違えると影響も大きいので、確認しながら育てるのがコツです。
気をつけたい落とし穴
rmを含むスクリプトは特に慎重に。変数の値が空のまま実行されるとrm -rf /*のような事故になります- スペースの扱いが厳密。
name = "太郎"はエラー、name="太郎"が正解です - ネットからコピペした実行権限つきスクリプト(curl | bash)は危険。中身を必ず確認してから実行
将来どう役立つ?
シェルスクリプトはインフラエンジニア・SRE・DevOpsの基礎技術です。サーバー設定の自動化、デプロイパイプライン、ログ監視などは、シェルスクリプトやPython、Ansibleのような自動化ツールで支えられています。中高生のうちに「毎日使う小さなスクリプトを自分で書いた」経験があると、コマンドを道具として扱う感覚が身につきます。
今日からできること
nano hello.shでファイルを作り、#!/bin/bashとecho "Hello!"を書くchmod +x hello.shで実行権限を付け、./hello.shで起動する- 「自分が毎日打つコマンド3つ」をまとめたスクリプトを作って実行してみる
まとめ
#!/bin/bashを書き、あとは普通のコマンドを並べるだけ。変数やif文も使えるので、短い練習でも基礎をつかめます。毎日の繰り返し作業を1つでもスクリプト化すると、効率と正確さが上がります。