a-Column

【UNIX】プロンプト表示の変更

csh/tcshをシェルとして使用している場合、Userがログインすると、

===================================
>
===================================

の様な状態になります。
suした場合、及びrootでログインした時は、

===================================
celies#
===================================

の様に、ホスト名が表示されます。
このようなプロンプトの表示の設定は各ユーザーごとに設定でき、変更するには、ユーザーのホームディレクトリにある.cshrc を編集します。
ちなみにこれはcsh系シェルの設定ファイルです。

===================================
> cd ~

ホームディレクトリに移動

> vi .cshrc

.cshrcを編集開始

if($?prompt) then
set prompt = "表示したいプロンプト名"
set filec
set history = 100
:
:
endif
===================================

の様に、set promptの以下を変更します。
例として、"`hostname -s`# "とすると、ホスト名を表示することができます。

cshrcの変更内容は再ログインすれば有効になりますが、すぐに有効にしたい時はsourceコマンドを実行します。
例えば、上記のように変更した場合、

========================================
> source .cshrc

として.cshrcを再読み込みすると、

celies# hogehoge
========================================

と表示されます。

上では概略を示しただけですが、プロンプトには様々な情報を表示させることが可能です。
set promptコマンドは一時的に有効にするだけなら、シェル(tcsh)上でそのまま実行すれば良いので、気軽に試してみて気に入ったものが見つかれば.cshrcに記述するのが良いでしょう。

基本は決まった文字列の表示です。

===========================================
> set prompt="% "
%
===========================================

コマンドの実行結果をプロンプトにすることも出来ます。
コマンドは「`」で囲みます。

===========================================
> set prompt="`uname` "
FreeBSD
===========================================

ただし、このコマンドはset promptされる時に一度だけ実行されるものなので、動的に変わる結果は表示不可能です。

環境変数もプロンプトで使用可能です。
コマンドは「`」で囲みます。

===========================================
> set prompt="$USER "
ユーザー名
===========================================

当然ですが、いくつかを組み合わせることも可能です。
コマンドは「`」で囲みます。

===========================================
> set prompt="`hostname -s`-\>$USER# "
ホスト名->ユーザー名#
===========================================

また、カレントディレクトリを表示させることも可能です。

===========================================
> set prompt="%/# "
/home/hogehoge#
===========================================

上の状態でも特に問題はありませんが、ホームディレクトリだけは「~」と表示させることも可能です。

===========================================
> set prompt="%~# "
~#
===========================================

他にも以下の設定が可能です。
なお「%S 〜 %s」のようになっているものは、%Sから%sまでの間で設定が有効なるという意味です。

===========================================
設定 内容
%c カレントディレクトリの最後のディレクトリ名
cの後に数字を付けると、最後から"数字"個分のディレクトリ名となる
%S 〜 %s 反転表示
%B 〜 %b 太字
%U 〜 %u 下線
%Y 西暦 4桁で表示
%y 西暦 2桁で表示
%w 月 Jun〜Decで表示
%W 月 1〜12で表示
%d 曜日 Sun〜Satで表示
%D 日 1〜31で表示
%t 現在時刻(時分) 12時間表示
%T 現在時刻(時分) 24時間表示
%p 現在時刻(時分秒) 12時間表示
%P 現在時刻(時分秒) 24時間表示
%m ホスト名表示
%n ユーザー名表示
===========================================

Last Update : 2007年03月28日 (水) 09:30