• ベストアンサー

Cシェルのかっこいいプロンプト設定教えてください。

わーい。二番のりぃ!! まじめで簡単な質問でーす。 C-shellでプロンプトの設定を変えたいのですが、 どうすればよいのでしょうか? [ユーザー名]/usr/local/bin > 上記のように、ユーザー名とカレントディレクトリ名くらいは出したいんですけど。。。 set prompt=%pwd%"->" じゃだめですよねぇ。。。。。 欲を言えば、ホスト名も出したいのですが。。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.3

プロンプトはset prompt = ...と実行した時点で決まってしまいますから、 その後でディレクトリを変更しても、普通は反映されません。 ですので、cdコマンド等にその機能を含ませてやる必要があります。 こんなやり方はどうでしょう。 alias prompt 'set prompt = "`hostname` [$user] $cwd >"' alias cd 'cd \!*; prompt' alias chdir 'chdir \!*; prompt' alias pushdir 'pushdir \!*; prompt' alias popdir 'popdir \!*; prompt'

orange_pie
質問者

お礼

ありがとうございます!! さっそく.cshrcに入れてみました。 ORANGE [tani] /export/home/tani > こんな感じになりました。 かなりお気に入り(*^。^*) これ、いただきまーす。 便利な.cshrcを作りたいのですが、これは!!と 思う裏技があったらおせーて下さーい。

その他の回答 (3)

  • k-841
  • ベストアンサー率27% (129/465)
回答No.4

csh のことはわかりませんが、 tcsh の場合、ご所望のことはできます。 以下は、tcshの場合です。 ユーザ名:何も考えず $USER でよいでしょう カレントディレクトリ名: %/ (絶対パス表示) or %~ (ホームは~で表記) ホスト名: 何も考えず `hostname -s` でよいでしょう ついでに、気分的な問題で、ヒストリ番号: ! その他、いろいろ man tcsh すれば出てきます。 23 myhost k-841 ~/works > とかいうプロンプトにするには、 set prompt="! `hostname -s` $USER %~ \> " ってなかんじですね。 ちなみに、当然のことながら環境変数などを使った場合は、 set を実行した時点での値(``の場合はその出力)が $prompt に代入されます。

orange_pie
質問者

お礼

ほ~。 これは勉強になります。 tcshをいろいろ調べてみましょう。 せっかくなので、このアドバイスはこのまま 私の「知っててお得ノート」に登録させていただきまーす。 ほうほう、”!”でヒストリの番号まででるんですねぇ。 ありがとうございました。

  • anisol
  • ベストアンサー率48% (146/301)
回答No.2

set prompt='['`whoami`'@'`hostname`']'`pwd`' >' で、どうですか?

orange_pie
質問者

お礼

さっそくやってみました。 [tani@ORANGE]/export/home/tani > こんなプロンプトになりました。(#^.^#) うん。とってもいい感じです。 あとはCDの時のaliasを切らなくちゃ!! ありがとうございます。

回答No.1

私の.cshrcの記述を、書いておきます。 普段はtcshを使用しているため、こっちの設定はほとんど使用していません。 なので、バグバグですが。。。 (本当はsuやchdirなどのalias設定も必要だと思います。) tcshだと、set prompt1行で書けるんですけど。。。 hostnames = `hostname -s` if ( `id -u` != 0 ) then set promptc='>' else set promptc='#' endif alias setprompt 'set prompt="${user}@${hostnames}:${cwd}[\\!]>${promptc}"' alias cd 'chdir \!* ; setprompt' alias pushd 'pushd \!* ; setprompt' alias popd 'popd \!* ; setprompt' #call first time... setprompt

orange_pie
質問者

お礼

なるほどぉ。 hostnamesって変数的に設定してるんですねぇ。 プロンプトに限らず、if文の構文とかコメントアウトとか、 盗めそうな技(私が無知なだけ?)が書いてあるので この辺、いただきまーす。 ありがとうございました。

関連するQ&A