OpenWindows ユーザーズガイド (上級編)

環境変数

システム環境は、初期設定ファイルで定義された複数の環境変数を使って構成されます。現在の作業環境を一時的に変更する場合は、コマンドプロンプトから直接コマンドを入力します。ただし、動作環境の変更を一時的ではなく、常時有効にしたい場合は、.profile.login.cshrc の各ファイルの中の環境変数の設定を変更する必要があります。

次のように、システムで現在設定されている環境変数を表示できます。

    env コマンドを入力して Return キーを押します。

    $ env
    HISTORY=100
    HOME=/home/texas/keith
    HZ=100
    LOGNAME=keith
    MAIL=/var/mail/keith
    MANSECTS=¥1:1m:1c:1f:1s:1b:2:¥3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3
    w:3b:9:4:5:7:8
    PATH=/usr/bin
    SHELL=/bin/sh
    TERM=sun
    TZ=EST5EDT


    注 -

    env コマンドを使って、SHELL 環境変数で指示されるログインシェルの確認ができます。上の例では、ログインシェルは /bin/sh (Bourne シェルの場合) です。


ユーザプロファイル

この節では、一般的によく使われる環境変数について説明します。これらの環境変数の大部分は、すでにユーザプロファイルに入っています。すでに述べたように、ユーザプロファイルのファイル (Bourne シェルまたは Korn シェルでは .profile、C シェルでは .cshrc) は、各ユーザのホームディレクトリにあります。


注 -

隠しファイル (ドットファイル) は、ls -la と入力すると表示できます。


次のリストは、ユーザプロファイルで使える環境変数の一部です。環境変数を定義する構文は、シェルによって異なります。

PATH 環境変数の設定

PATH 環境変数は、SunOS ディレクトリ階層内でコマンドを検索するために使われます。PATH 環境変数を設定すると、コマンド名を入力したときに特定のディレクトリが常に検索されるようになります。

たとえば、PATH 変数を設定していない場合にファイルをコピーする場合、/usr/bin/cp のように、コマンドのフルパス名を入力しなければなりません。これに対して、/usr/bin ディレクトリが PATH 変数に含まれるよう設定しておけば、cp と入力するだけでコマンドを実行できます。これは、PATH 変数で指定された各ディレクトリ内で cp コマンドが検索され、見つかった時点で実行されるためです。頻繁に使われる SunOS コマンドのディレクトリを PATH 変数に設定しておけば、作業効率を大幅に向上させることができます。

Bourne シェルと Korn シェルについては、次の構文を使ってホームディレクトリの .profile ファイル内で PATH 変数を設定します。

PATH=.:/usr/bin:home/bin

home はホームディレクトリのパス名です。

C シェルについては、次の構文を使ってホームディレクトリの .cshrc ファイル内で PATH 変数を設定します。

set path=(. /usr/bin home/bin)

home はホームディレクトリのパス名です。


注 -

C シェルでは、短縮名の を使ってホームディレクトリのパス名を表すことができます。


C シェルの環境で PATH 変数を変更した場合は、ログアウトしなくても source コマンドを実行すれば、現在のウィンドウ内で PATH の設定を有効にできます。

example% source .cshrc 

Bourne シェルまたは Korn シェルを使っている場合は、ログアウトしなくても次のコマンドを実行すれば、現在のウィンドウ内で PATH の設定を有効にできます。

$ . .profile

別名 (C シェルのみ)

別名 (エイリアス) は、頻繁に入力するコマンドの便利な短縮名です。たとえば、削除コマンド (rm) のデフォルト設定では、ファイルを削除する前に確認を求められませんが、入力を誤って必要なファイルを削除してしまう危険性があるため、この設定では不都合な場合があります。C シェルでは、別名変数を使ってこの設定を変更できます。別名を使うには、.cshrc ファイルに次のような行を追加します。

alias rm  'rm -i'

.cshrc ファイルにこの行があれば、rm と入力するだけで rm -i (対話形式の rm コマンド) を入力したのと同じことになります。したがって、ファイルが削除される前に常に確認を求められるようになります。(上記の例で、rm -i の両側の引用符 (`) は、rm-i の間に空白を挿入するために必要です。この引用符がないと、C シェルは空白の後のテキストを正しく解釈できません。)

.cshrc ファイルに対して行なった変更を、ログアウトしなくても現在のウィンドウ内で有効にするには、source コマンドを使います。source コマンドを実行すると、現在の .cshrc ファイルが読み取られてその中のコマンドが実行されます。

example% source .cshrc

コマンドプロンプトの変更

コマンドプロンプトの変更に使う構文は、Bourne、Korn、C の各シェルによって異なります。

Bourne シェルと Korn シェルの場合

Bourne シェルまたは Korn シェルでは、PS1 コマンドを使ってコマンドプロンプトを変更することができます。次の 3 つの例を参照してください。

PS1=": "
PS1="`hostname`: "
PS1="`hostname`{`id`}}: "

上記の例のどれかを入力して現在のコマンドプロンプトを変更してみてください。変更したプロンプトは、再度それを変更するかログアウトするまではそのままになります。

プロンプトを恒久的に変更するには、上記の例の 1 つ (または自分で作成したプロンプト) を .profile ファイルに追加します。これにより、ログインしたりシェルを再起動するたびに、指定したプロンプトが表示されるようになります。

C シェルの場合

C シェルでは、set prompt コマンドを使ってコマンドプロンプトを変更できます。次の 3 つの例を参照してください。

set prompt="% "
set prompt="`hostname`¥!: "
set prompt="`hostname`{`id`}}: "

上記の例のいずれかを入力して現在のコマンドプロンプトを変更してみてください。変更したプロンプトは、再度それを変更するかログアウトするまではそのままになります。

プロンプトを恒久的に変更するには、上記の例の 1 つ (または自分で作成したプロンプト) を .cshrc ファイルに追加します。これにより、ログインしたりシェルを再起動するたびに、指定したプロンプトが表示されるようになります。

その他の便利な変数

.profile ファイルや .cshrc ファイルでは、上記の他に多くの変数を設定できます。変数についての詳細は、『SunOS リファレンスマニュアル (1): ユーザーコマンド』を参照してください。頻繁に使われる変数については、以下で簡単に説明します。

cp コマンドを使ってファイルをコピーするときに、誤ってファイルを上書きするのを防ぐには、set noclobber を使います。この変数は C シェルだけに適用できます。次の行を .cshrc ファイルに入力します。

set noclobber

履歴リストに保存するコマンドの個数を設定するには、set history を使います。history コマンドは、以前に入力したコマンドを参照する場合に便利です。(以下の例では 100 個まで参照できます) 履歴リストを使って、以前のコマンドを繰り返すこともできます。この変数は C シェルだけに適用できます。次の行を .cshrc ファイルに入力します。

set history=100

.profile ファイルに次の行を挿入すれば、Bourne シェルと Korn シェルについても同様の設定ができます。(以下の例では 100 個まで参照できます)。

HISTORY=100