[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

シェルスクリプト

pointこの用語のポイント

pointプログラムだよ

point中にはシェルで使えるコマンドがいろいろ書いてあるよ

pointバッチファイルのUNIX版だよ

スポンサーリンク

簡単に書くよ

シェルスクリプトとは

バッチファイル(Windowsで使う拡張子が「.bat」のファイル)のUNIX版
と書くと逆に分かりにくいですかね。

シェルで解釈できる命令を寄せ集めて作ったプログラムのこと
です。
もう少しざっくり書くと

コンピュータさんに対する命令が書いてあるファイル
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは「シェル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。

シェルスクリプト

コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。

シェルスクリプト2

ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。

シェルスクリプト3

あなたがパソコンの中身と直接やり取りをすることはありません。
あなたがやり取りする相手は、シェルです。
シェルがあなたの代わりに、パソコンの中身とやり取りしてくれます。

シェルスクリプト4

ここでは

人間様はシェルに対して命令し、シェルがコンピュータさんに対して指示を出す

というのを覚えておいてください。

シェルスクリプト5

少し話がそれますが、コマンドプロンプトバッチファイルについても説明しておきます。
バッチファイルを理解できれば、シェルスクリプトも理解できます。
頑張って、ついてきてください。

コマンドプロンプトは「コンピュータに詳しい人がよく使う、Windowsにくっついている黒い画面」です。

シェルスクリプト6

この黒い画面に「コマンド」と呼ばれる命令文を打ち込むと、それに従ってパソコンさんがお仕事をしてくれます。
例えば

dir

というコマンドを打つと、そのフォルダの中に入っているファイルの一覧を表示してくれますよ。
他にも、いろいろな操作を、黒い画面から行うことができます。

この黒い画面に打ち込む命令文をあれこれ書いたファイルが「バッチファイル」です。
「コマンドプロンプトで使えるコマンドの寄せ集めファイル」と言っても良いかも知れません。

バッチファイルの拡張子は「.bat」にするのが慣例です。

シェルスクリプト7

拡張子「.bat」は、初期状態でコマンドプロンプトと関連付けられています。
バッチファイルをべちべちっ!とダブルクリックすることで、ファイルに書いてある命令文をまとめて実行できます。

例えば、以下の内容が書かれたバッチファイル「test.bat」があったとしましょう。

@echo off

mkdir dir1

cd dir1

mkdir dir2


mkdir」コマンドは「フォルダを作ってよ」な命令です。
cd」コマンドは「現在地を移動してよ」な命令です。
「@echo off」は取りあえず気にしないでください。

つまり「test.bat」の中の命令は

@echo off

mkdir dir1
(「dir1」フォルダを作ってよ)

cd dir1
(「dir1」フォルダの中に移動してよ)

mkdir dir2
(「dir2」フォルダを作ってよ)


となります。

さて、「test.bat」を動かすと、どうなると思いますか?

そうです。
「dir1」フォルダを作って、その中に移動して「dir2」フォルダを作るので「dir2」フォルダが中に入った「dir1」フォルダができます。

一行一行は、コマンドプロンプトで実行できるコマンド(命令)です。
それをまとめて書いたファイルがバッチファイルです。
バッチファイルを実行すると、中に書かれているコマンド(命令)が上から順番に実行されていきます。

ここまでの説明で、バッチファイルについては何となく分かったでしょうか。
コマンドプロンプトで使えるコマンドの寄せ集めファイルです。

以上を踏まえて、シェルで解釈できる命令文をあれこれ書いたファイルが「シェルスクリプト」です。
「シェルで使えるコマンドの寄せ集めファイル」と言っても良いかもしれません。

そうです。
バッチファイルの説明に対して

・Windows → UNIX系のOSLinuxとか)
・コマンドプロンプト → シェル


と読み替えるとシェルスクリプトの説明になります。

つまり、バッチファイルとシェルスクリプトの役割は同じです。
どちらも、コンピュータに対する命令を書き込んだファイルを指す用語です。

例えば、そうですね。

ピヨ太君は、一日一回大事なファイルのバックアップを取っていました。

シェルスクリプト8

あと、いらないファイルを消していました。

シェルスクリプト9

まぁ、ピヨ太君がやったと言っても、実際にやるのはパソコンさんです。
ピヨ太君は

1.バックアップを取れ!
2.いらないファイルを消せ!


の命令を、キーボードを使って、ぽちぽちと入力しているだけです。

シェルスクリプト10

ところがですね。
ピヨ太君は、ぽちぽちするのが面倒くさくなりました。

シェルスクリプト11

バックアップと不要なファイルの削除は、毎日やります。
雨の日も、風の日も、キーボードから

1.バックアップを取れ!
2.いらないファイルを消せ!


と入力しなくてはいけないのです。

面倒くさいですね。

そこでピヨ太君は、少しでも楽できないかと一生懸命考えました。

シェルスクリプト12

頭から湯気が出るくらい考えました。

シェルスクリプト13

そして、ついに名案が浮かんだのです。

シェルスクリプト14

ピヨ太君は

1.バックアップを取れ!
2.いらないファイルを消せ!


の命令を書いたファイルを用意しました。

そして、キーボードからぽちぽち入力する代わりに、ファイルをコンピュータさんに渡して「これに書いてあることをやって」と指示することにしたのです。

シェルスクリプト15

これでピヨ太君は、かなり楽になりました。
キーボードでぺちぺち入力していたのが、ファイルを渡すだけになりましたからね。

シェルスクリプト16

この話における「パソコンさんに対する命令を書いたファイル」がバッチファイルであり、シェルスクリプトです。

Windowsの話で登場したときは「バッチファイル」と呼びます。
中にはコマンドプロンプトで使える命令が書いてありますからね。

UNIX系の話で登場した場合は「シェルスクリプト」と呼びます。
シェルが解釈できる命令が書いてあるからです。

役割は同じです。
バッチファイルも、シェルスクリプトも、コンピュータさんに対する命令が書いてあるファイルです。

image piyo2

一言でまとめるよ

まぁ「シェルスクリプト」って単語が出てきたら「シェルで解釈できる命令文をあれやこれやと記述したファイルなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク