「csh」の設定

Solarisで利用するシェルをtcshに変更したが、設定が何も行われていない。
そこで、設定ファイルを作成し、必要な設定を行う。

「csh」の設定
Solaris% vi ~/.cshrc <= 設定ファイルの作成
# パスの設定
set path=(/usr/bin /usr/dt/bin /usr/openwin/bin /bin /usr/ucb /usr/sfw/bin /opt/sfw/bin /usr/ccs/bin /usr/local/bin)

# エイリアス
alias ll     'ls -laF | more'
alias h      'history 32'
# CompanionCDをインストールしている場合、以下の設定も行う
alias ls     'gls -F --color=always'
alias make   'gmake'
alias ar     'gar'
alias tar    'gtar'

# TAB補完でもカラー表示
set color
# 「Esc」キーでファイル名の補完を行う
set filec
# ヒストリに保存するコマンド
set history = 10000
# 「~/.history」に保存するコマンド(マージする)
set savehist = (10000 merge)
# [Ctrl] + [D]でログアウトしない
set ignoreeof
# ファイル名の補完で複数の候補が有る場合、一覧を表示する
set autolist
# プロンプトの設定
# `/usr/ucb/whoami`   : ユーザ名
# `/usr/bin/uname -n` : マシン名
set prompt="`/usr/ucb/whoami`@`/usr/bin/uname -n`% "

# lsの結果をlessに渡してもカラー表示にする
setenv LESS -r

# エディタの設定
setenv EDITOR  vi

# manのパスの設定
setenv MANPATH /usr/man:/usr/share/man:/usr/openwin/share/man:/usr/sfw/man
setenv MANPATH "$MANPATH":/usr/local/man:/usr/local/share/man

# tcshの場合
if ( ${?tcsh} ) then
    # タイトルバーの変更
    if( $?TERM )then
        switch( $TERM )
        case xterm:
        case kterm:
        case dtterm:
            alias precmd 'printf "\033]2;${HOST}\007"' # \033]2; と \007 の間の部分がタイトルバーに表示される
        endsw
    endif
    # プロンプトの設定
    # %n : ユーザ名
    # %m : マシン名
    # %c : カレントディレクトリ
    # %# : スーパーユーザは「#」一般ユーザは「>」で表示
    set prompt='%{\033[1;36m%n@%m %c%#\033[00m%} '

    # cdコマンドの補完ではディレクトリのみを対象にする
    complete cd  'p/1/d/'
    # 入力行と一致するヒストリは削除
    set histdup = erase
    # ヒストリにサーチ機能を付加
    bindkey -k up history-search-backward
    bindkey -k down history-search-forward
endif


Solaris% source ~/.cshrc <= .cshrcファイルの読み込み

書式の指定

tcshでの場合だが、プロンプトの設定でカラー表示している。
色の指定は
set prompt='%{\033[36m%n@%m %c%#\033[00m%} '
の 36 の部分で行う。
書式の指定方法は以下の通り。

書式 番号
通常 00
太字 01
下線 04
点滅 05
前背色反転 07
表示しない 08
ノーマル化 22
下線なし 24
点滅なし 25
前背色反転なし 27
番号(文字) 番号(背景)
30 40
31 41
32 42
33 43
34 44
35 45
シアン 36 46
37 47
デフォルト 39 49

複数指定する場合、以下のようにセミコロンで区切る。

set prompt='%{\033[01;36;45m%n@%m %c%#\033[00m%} '
rootの場合の設定

rootの場合、ログインシェルを /sbin/sh 以外にしてしまうと障害時等に問題になる事がある。
しかし、/sbin/sh は使いにくい為、通常はtcshを利用するようにする。
※ただし、この設定を行うと端末からのGUIでのログインが出来なくなってしまう。
その為、端末から直接ログインする場合、~/.profile を別名に変更するなどの対処が必要。
もしログインしてしまった場合、SSH等によりリモートでログインし、XsessionのプロセスをTERMで終了させる。

Solaris# vi ~/.profile <= 設定ファイルの編集
以下を追加
if [ -x /bin/tcsh ]; then
    echo ' -- Starting `tcsh` as a login shell... --'
    export SHELL; SHELL=/bin/tcsh
    exec $SHELL -l
fi
▲ページのトップへ