1
/
5

プログラム言語の歴史 <Shell script編>

Shell scriptの概要

メジャーなものからマイナーなものまで、さまざまなプログラミング言語が世の中にあり、プログラミング言語ごとに歴史や物語があります。

今回は、身近だけど奥が深いShell scriptの世界について見ていきたいと思います。そもそも「Shell scriptとはなにものか?」という話をしたいと思います。

まずは“Shell script”の前半部分であるShell(シェル)について考えていきたいと思います。

Shellというのは“基本ソフト(OS)に対して指示を出すためのインターフェイスを提供するソフトウェア”のことです。

この文章だけではピンとこない方も多いと思うので、具体的に言えば、Windowsのcmd.exe(コマンドプロンプト)はまさにシェルです。

cmd.exeを起動して、ipconfigと入力してエンターを押すと、そのコンピューターが持っているIPアドレスなどネットワーク関連の構成情報が出てきます。

このように、cmd.exeなどのシェルには“利用者がOS内部の情報にアクセスするためのインターフェイスとして機能があり”、“利用者のうち込んだコマンドに対する応答機能がある”のです。

ちなみに、Windowsのシェルにはcmd.exeという名前が付いていますが、UnixやLinuxのシェルは単にシェルとしか呼ばれません。

前半のShellの意味がわかったところで、“Shell script”の後半部分であるscriptの意味も分かったところで、後半の scriptについても確認しましょう。

scriptとはスクリプト言語のことです。

スクリプト言語とはなにかということになりますが、ざっくり言ってしまうと、「プログラマーにとって取り扱いが簡単なプログラミング言語」の総称です。

スクリプト言語と認められているプログラミング言語には、JavaScriptやVBScriptなど名前にscriptが入っているものだけでなく、PHPやPythonやGo言語などscriptという名前が入っていないものもあります。

さらに言うと、 スクリプト言語の定義は“プログラマーにとって取り扱いが簡単な言語”のことですが、なにをもって、プログラマーにとって扱いやすいとするか、その基準は曖昧だったりします。

では、Shell scriptの場合どういうところがプログラマーにとって扱いやすいかというと、記述が比較的簡単かつ、コンパイルの必要性がないため実行も簡単だからです。

※コンパイルとは、人間がプログラミングしたソースコードを、0と1しかわからない機械でも理解できるように、翻訳することを言います。

つまるところ、Shell scriptとはシェルに対して動作する取り扱いが簡単なプログラミング言語ということです。

ところで、みなさん、バッチファイル(.bat)を見たり、使ったことがありますか?

実は、バッチファイルはWindows版Shell scriptなのです。

そのため、本来“Shell script”はUnixやLinuxなどのシェル向けに書かれたもののことを言うのですが、同じ役割を持つWindowsのcmd.exe向けに書かれたバッチファイルのことを含めて“Shell script”と呼ぶ人もいます。

Shell scriptは記述が比較的容易とお伝えしましたが、実はShell script(バッチファイル)のコードというのは、ipconfigのような、Shellに打ち込むコマンドで構成されています。

気になる続きは👇👇👇

プログラム言語の歴史 <Shell script編>
Shell scriptの概要 メジャーなものからマイナーなものまで、さまざまなプログラミング言語が世の中にあり、プログラミング言語ごとに歴史や物語があります。 今回は、身近だけど奥が深いShell
https://magazine.techcareer.jp/programming/shell-script/5081/

他にも『techcareer magazine』では
エンジニアやクリエイターの人生やキャリアのお役立ち情報を配信中!

techcareer magazine
techcareer magazineは、株式会社アイデンティティーが運営する、エンジニアのキャリアを親身になってサポートするWebメディアです。国内だけでなく海外の最新IT技術や転職情報をいち早く翻訳し、グローバルな視点で発信していきます。
https://magazine.techcareer.jp/
株式会社アイデンティティーでは一緒に働く仲間を募集しています
今週のランキング
株式会社アイデンティティーからお誘い
この話題に共感したら、メンバーと話してみませんか?