「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 ls     'gls -F --color=always' <= 「GNU ls」を利用し、カラー表示にする
alias ll     'ls -laF | more' <= llコマンドの設定
alias h      'history 32' <= hコマンドの設定
alias make   'gmake' <= CompanionCDをインストールしている場合、makeではなくgmakeを利用する
alias ar     'gar' <= CompanionCDをインストールしている場合、arではなくgarを利用する
alias tar    'gtar' <= CompanionCDをインストールしている場合、tarではなくgtarを利用する

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

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

setenv EDITOR  vi

setenv MANPATH /usr/man:/usr/share/man:/usr/openwin/share/man:/usr/sfw/man
setenv MANPATH "$MANPATH":/usr/local/man:/usr/local/share/man

if ( ${?tcsh} ) then <= tcshの場合の設定
    if( $?TERM )then <= タイトルバーの変更
        switch( $TERM )
        case xterm:
        case kterm:
        case dtterm:
            alias precmd 'printf "\033]2;${HOST}\007"' <= \033]2; と \007 の間の部分がタイトルバーに表示される
        endsw
    endif
    set prompt='%{\033[1;36m%n@%m %c%#\033[00m%} ' <= プロンプトの設定
    色の設定は 36m% の6の部分で指定
    0:黒 1:赤 2:緑 3:黄 4:青 5:紫 6:水色 7:灰
    %n <= ユーザ名
    %m <= マシン名
    %c <= カレントディレクトリ
    %# <= スーパーユーザは「#」一般ユーザは「>」で表示
    complete cd  'p/1/d/' <= cdコマンドの補完ではディレクトリのみを対象にする
    set histdup = erase <= 入力行と一致するヒストリは削除
    bindkey -k up history-search-backward <= ヒストリにサーチ機能を付加
    bindkey -k down history-search-forward <= ヒストリにサーチ機能を付加
endif


Solaris% source ~/.cshrc <= .cshrcファイルの読み込み
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
▲ページのトップへ