5.1. シェル/Shell

今日のスパコンや、データセンターのサーバーでは、利用者のデスクトップのコンピュータから リモートにログインして操作することが一般的です。 そのようなコンピュータでは、GUIが使えずに、文字だけの端末画面を通して ポインティングデバイスなしで操作をする必要に迫られることがほとんどです。

ユーザが入力するコマンドの行、すなわち「コマンドライン」を通してコンピュータを 操作するので、このような利用スタイルを「コマンドライン操作」や 「コマンドラインでの操作」などと表現します。

コマンドライン操作において、コマンドを解釈・実行するのが、シェルと言われるプログラムです。

コマンドライン操作は、GUIのように推測で操作することがほとんどできず、 学習コストは高いと言えます。しかし、慣れてしまえばGUIよりも素早くできる操作が多く、 ひとまとまりの操作を自動実行させることも簡単にできるようになります。

いままでコマンドラインをあまり使ったことのない人は、プログラミングと合わせて、 コマンド操作にも慣れていってほしいと思います。

そのために、基本となるシェルについて解説します。

Modern supercomputers and data center server computers often need to be operated remotely from a desktop computer of the user. Typically, no GUI is available, and the user has to operate the remote computer through a character only terminal, without any pointing device.

Such style of operation is called “command line operation”. The shell plays a key role in command line operation. It is the program that interprets and executes the commands.

In command line operation, you will not be able to guess how to use a program as you would with a GUI, and the learning cost is generally high. However, once you master it, you will be able to do many tasks quicker than with GUIs, and it will become easy to automate a combination of operations.

We invite you to get accustomed to command line operation, just as well as learn programming skills.

And here is an introduction to the shell.

シェルの構文には2つの異なったスタイル、 bourne shell 系と C shell 系がありますが、ここでは、多くの現存する シェルスクリプト で使われている bourne shell系に即して 説明します。bashを含む現在メジャーなシェルの多くがbourne shell系のシェルです。

もうひとつの系統の c shell (“see-shell”)は、if文やfor文などの構文がC言語に似せて作られており、 bourne shell とは雰囲気がかなり違います。 登場してしばらくは人気がありましたが、最近はあまり使われなくなりました。 今から学ぶ必要性は少ないでしょう。

There are two styles of shell syntax, the bourne shell style, and the c shell style. Here we will discuss the bourne shell style, since it is used in most of the existing shell scripts.