Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

シェル変数と環境変数

 シェルは、いろいろな環境をあらかじめ設定し、決めておくための変数を持っています。そのような変数には2種類あり、それがシェル変数環境変数です。

 シェル変数は、現在実行しているシェルの中だけで有効な変数であり、環境変数は、新たなシェルを起動したり、コマンドを実行した場合にも継承される変数です。この2つの変数の大きな違いは有効範囲(使用できる範囲)だと覚えておくとよいでしょう。

 bashなどのBシェル系のシェルの場合、

 VER=test

 とすると、変数「VER」にtestを設定するという意味になります。これはシェル変数を定義する設定で、環境変数にするためには、さらにこの後に続けて、

 export VER

 とします。上記の操作をまとめて

 export VER=test

 とすることも可能です。

 また、変数を削除する場合は、次のようにunsetコマンドを使用します。

 unset VER

 現在の設定値を参照する場合は、setコマンドを使用します。

 Bシェル系のシェルに対して、Cシェル系のシェルの場合は、これとは異なります。変数の定義は、

 set VER test

 として行い、環境変数を定義する場合には、

 setenv VER test

 とします。

 変数の参照および削除の方法は、bashの場合と同じように、setコマンドとunsetコマンドで行います。

 代表的な環境変数を挙げると、次のようなものがあります。

代表的な環境変数
変数意味
PATHコマンドサーチパスといい、コマンド名を入力するだけで(フルパスを指定せずに)コマンドを実行できるのは、この変数にコマンドが存在するパスが設定されているからである。パスを省略してコマンドを実行すると、この変数に定義されているパスを順番に検索して、一致するコマンドが見つかった時点で、そのコマンドを実行する
PS1シェルのプロンプトを定義する
PWDカレントディレクトリが設定される
HOMEユーザのホームディレクトリが設定される
LANG使用している言語が設定される
Bシェル系とCシェル系

 シェルは、Bシェル系とCシェル系に大別することができます。Bシェル系の大元になるのがshです。それとは別にCシェル系の大元となるのがcshです。ジョブ制御やエイリアスなどBシェルにない

 機能をたくさん持っています。現在では、この2つのシェルを基本としてさらに拡張されたいくつものシェルが開発されています

UNIXコマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5