プロンプト表示の変更


Last Update: 2005/01/04
26199 th Visitor

プロンプト表示の変更

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ユーザー名表示

設定


もどるにゅ

トップにもどるにゅ