シェル - シェルスクリプト - 端末を判定する(前方一致)
- 1. 概要
- 2. 端末を判定する
1. 概要
「FreeBSD」を「VirtualBox」上に構築して、作業したりします。
「tcsh」を使用していて、「root」ユーザ権限で作業する際、「sudo su」を使います。
パスワードを聞いてきますが・・・。
~/.cshrc
に
setenv LANG ja_JP.UTF-8
を記述しておりますので、パスワード要求の際
$ sudo su
パスワード:
てな感じで表示されるのですが。
「VirtualBox」のコンソールで、これをやると
てなことになりまして、非常に気持ち悪い。
2. 端末を判定する
~/.cshrc
は、「csh」「tcsh」のシェルスクリプトの動きをしますから、「csh」のシェルスクリプトで判断しなければならんわけです。
そこでまぁ、「tty」シンボルを確認すると「Tera Term」でログインした状態であると
$ echo $tty
pts/0
後半の数字はともかく・・・こうなります。
「VirtualBox」のコンソール上だと
$ echo $tty
ttyv0
これも後半の数字はともかく・・・こうなります。
なので、「setenv LANG」の個所を
if ($tty =~ pts) then
setenv LANG ja_JP.UTF-8
endif
と記述しますと、「Tera Term」上の「sudo su」は、以前と同じ。
「VirtualBox」のコンソール上では
と、思い通りになりました。
|
|