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.
- 5.1.1. シェルの概要/Shell overview
- 5.1.2. シェルの設定/Shell configuration
- 5.1.2.1. シェルはインタープリタ/The shell is an interpreter
- 5.1.2.2. シェル変数/Shell variables
- 5.1.2.3. シェル変数と環境変数/Shell variables and environment variables
- 5.1.2.4. 環境変数PATH/environment variable PATH
- 5.1.2.5. 環境変数HOME/environment variable HOME
- 5.1.2.6. シェルのカスタマイズ項目/Shell customization items
- 5.1.2.7. シェルの初期化スクリプト/Shell startup scripts
- 5.1.2.8. スクリプトを読み込むコマンド/A command to read scripts
- 5.1.3. コマンドの入力と出力/The input and output of commands
- 5.1.4. シェルのif文やfor文/if and for statements in shell
- 5.1.5. シェルのジョブ制御/Shell job control
- 5.1.6. シェルスクリプト/Shell scripts