Shellは、Unixシステムへのインターフェイスを提供します。 入力を収集し、その入力に基づいてプログラムを実行します。 プログラムの実行が終了すると、プログラムの出力が表示されます。
Shellは、コマンド、プログラム、およびShellスクリプトを実行できる環境です。 オペレーティングシステムのスタイルが異なるのと同じように、Shellのスタイルも異なります。 各Shellプログラムには、認識された独自のコマンドと機能のセットがあります。
目次
Shellプロンプト
プロンプト$
はコマンドプロンプトと呼ばれ、Shellプログラムによって発行されます。 プロンプトが表示される場合、コマンドを入力できます。
Enterキーを押すと、Shellは入力を読み取ります。 入力された最初の単語を確認してから、実行するコマンドを決定します。 単語は連続した文字セットです。 スペースとタブは単語を区切ります。
以下のは、現在の日付と時刻を表示するdate
コマンドの実例です。
$date
Thu Jun 25 08:30:19 MST 2009
「環境について」という記事で説明した環境変数PS1を使用して、コマンドプロンプトをカスタマイズできます。
Shellタイプ
Unixでは、主に2つのShellタイプがあります。
- Bourne shell-Bourneタイプのshellを使用している場合、$文字がデフォルトのプロンプトです。
- C Shell-Cタイプのshellを使用している場合、%文字がデフォルトのプロンプトです。
Bourne Shellには次のサブカテゴリがあります。
- バーンシェル(sh)
- コーナーシェル(ksh)
- Bourne Again Shell(サンプ)
- POSIXShell(sh)
異なるCタイプシェル(Shell)は以下に従います。
- C Shell(CSH)
- TENEX / TOPS CShell(TCSH)
初代目のUnix shellは、1970年代半ばにニュージャージーのAT&Tベル研究所にいたStephen R.Bourneさんによって作成されました。
Bourne shellは、Unixシステムに最初に登場したshellであるため、「shell」という名前が付けられています。
Unixのほとんどのバージョンでは、Bourne shellは通常/ bin / shとしてインストールされます。 そのため、さまざまなバージョンのUnixで使用できるスクリプトを作成する最適のShellです。
この記事では、Borne Shellに基づくShellの概念を説明します。
Shellスクリプト
Shellスクリプトの基本的な概念は、実行順にリストされたコマンドのリストです。 shellスクリプトにはコメントが付き、手順を説明するために#記号で始まります。
値Aが値Bより大きいなどの条件付きテストでは、ループを使用し、多数のデータ、データのファイル、または変数を読み取り、保存できます。スクリプトには関数が含まれる場合があります。
次の章では、多くのスクリプトを作成します。 これは単純なテキストファイルであり、Shell環境に何を実行し、いつ続行するかを指示するすべてのコマンドとその他の重要な構成要素を配置します。
Shellスクリプトと関数がコメントされるため、コンパイルされていないことを意味します。
サンプルスクリプト
仮にtest.sh
スクリプトを作成しました。 すべてのスクリプトには.sh
拡張子が付いていることに注意してください。 スクリプトに何かを追加する前に、Shellスクリプトが開始されていることを、システムに知らせる必要があります。 これは、shebang
構造で行われます。
#!/bin/sh
これは、後続のコマンドがBourne shellによって実行されることをシステムに通知します。 #記号がハッシュと呼ばれるため、shebangと呼ばれます。「!」 は爆発と呼ばれます。
これらのコマンドを含むスクリプトを作成するには、最初にshebang行を入力してから、以下のコマンドを追加します。
#!/bin/bash
pwd
ls
Shellレビュー
次のように、スクリプトにコメントを追加できます。
#!/bin/bash
# Author : Zara Ali
# Copyright (c) Gingerdoc.com
# Script follows here:
pwd
ls
上記のコンテンツを保存し、スクリプトを実行可能にします。
$chmod +x test.sh
今、Shellスクリプトが実行できます。
$./test.sh
実行した後、次の結果が表示されます。
/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.sh unix-communication.htm unix-environment.htm
ヒント–現在のディレクトリで使用可能なプログラムを実行するには、「./program_name
」を使用します。
拡張Shellスクリプト
Shellスクリプトには、Shell環境に何をいつ続行するかを指示するいくつかの必要な構造があります。 もちろん、ほとんどのスクリプトは上記のスクリプトよりも複雑です。
shellは真のプログラミング言語であり、変数や制御構造などが含まれています。 スクリプトがどれほど複雑になっても、それは順番に実行されるコマンドのリストにすぎません。
以下のスクリプトはread
コマンドを使用し、キーボードから入力を受け取り、それを変数PERSONの値として割り当て、STDOUTに出力します。
#!/bin/sh
# Author : ceodata
# Copyright (c) ceodata.com
# Script follows here:
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"
以下のはスクリプトの実行実例です。
$./test.sh
What is your name?
ceodata
Hello, ceodata
$
コメントを残す