HP-BASIC入門
ホーム » HPBASIC概要 » シェルの機能②

シェルの機能②


シェルはコマンドインタプリタという機能以外にプログラム言語のような機能をもっています。
・シェル変数の設定
・構造化機能
・割り込み機能
などです。一般にシェルのプログラミング言語はシェルプロシージャと呼ばれ、実際の言語を使用しないでユーザのアプリケーションツールを設計する能力を持っています。



シェル変数の設定





シェルにはよく使う文字列を変数として定義できる機能があります。 この変数をシェル変数といい、英字で始まる英数字とアンダーバーをその名前にすることができます。 シェル変数に値を設定するには次のように指定します。

変数名=値

(例)

$name=/users/base/class1

$echo $name
/users/base/class1


またHP-UXシステムではシェルが使用する特殊な意味をもつ変数が用意されています。 一般に環境変数と呼ばれるその変数はシェルプロシージャが外のコマンドから簡単に参照できますが、ユーザーの シェル変数として設定、使用することはできません。
HOME・・ログイン時に設定される変数でユーザのホームパスが入っている
PATH・・実行するべきコマンドをどの順序で探すか示す変数。
MAIL・・メールを入れておくファイルのパス名を指定する。
LOGNAME・・ユーザのログイン名が入っている変数。
SHELL・・・ユーザがログインしたときのシェル名が入っている。
TERM・・ターミナルの種類を示す変数。
TZ・・・時間設定の環境を示す。
PS1・・・シェルの1次プロンプト文字列。
PS2・・・2次プロンプト文字列。
IFS・・・区切り文字列が入っている。


構造化機能


構造化機能とは要するにシェルプロシージャを次の予約語を使うことによってプログラム言語と同じような構造化プログラミングが 可能になるということです。具体的は、for文、case文、if文、while文、until文などです。 構造化はいくつかの繰り返しを規定回数行いたい場合、または条件判定によって処理を変えたい場合に使用します。 実際のプログラミングや使用方法については、別項のシェルプログラミングにて詳述します。

割り込み機能


HP-UXにおいてはある割り込み[BREAK]、[Ctrl-d]が押されたなどが行ったときにプロセスに通知する機能があります。 このシグナルを使ってシェルは割り込みが起こったときに実行処理を設定することができます。 その実行はtrapコマンドでおこないます。

tracpコマンドは指定のシグナル番号が発生したときに1回だけ実行されるコマンドです。 0:シェル特有でシェルから出るときに発生
1:途中でハングアップした場合に発生
2:BREAK、DELキーを押したとき発生
3:Ctrl-\を押したときに発生