シェルには様々な種類があります。
その違いは、シェルスクリプトの書き方などですが、まぁ、好みで使って良いと思います。
あるユーザの(ログイン)シェルを変更するには /etc/passwd ファイルの : で区切られた第10フィールドを変更しましょう。
ここではFreeBSDで比較的広く使われている tcsh を使います。
FreeBSDの設定ファイルは大抵 .(ドット) から始まっています。
tcsh でも当然そうで、ここでは .login と .cshrc を設定します。
それぞれのファイルは自分のホームディレクトリ(~/)に置きます。
.login はログイン時に1度だけ読み込まれ、.cshrc は tcsh が起動するたびに読み込まれます。
よって、.login に環境変数等を設定して .cshrc にシェル変数を設定すると良いでしょう。
(だた、読み込まれる順は .cshrc が先で .login がその後らしい。うーむ。)
で、僕の場合のそれぞれのファイルを以下に示します。
後は自分の好きなように書き換えて下さい。
"man tcsh"と打てばtcshのマニュアルを見ることが出来ます。
# ~/.login の設定例 setenv LANG ja_JP.eucJP setenv LC_ALL ja_JP.eucJP setenv LC_CTYPE ja_JP.eucJP setenv JLESSCHARSET japanese setenv PAGER jless setenv EDITOR ee setenv BLOCKSIZE K # ログイン時に tips を表示する [ -x /usr/games/fortune ] && /usr/games/fortune freebsd-tips |
# ~/.cshrc の設定例 #--- エイリアスの設定 --- unalias * alias h 'history 25' alias j 'jobs -l' alias la 'ls -a' alias lf 'ls -FA' alias ll 'ls -lA' alias rm 'rm -i' alias rmtilde 'find . -name "*~" -delete' alias man jman alias less jless # A righteous umask umask 22 set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin .) #--- プロンプトの設定 --- set prompt = '%n%~> ' set rprompt = '<%h>' #--- その他 --- # ヒストリからコマンド補完を出来るように set autoexpand # タブキーでコマンド補完をする set autolist = ambiguous # 補完対象外となる拡張子 set fignore = (.o .txt~ .c~) set ignoreeof set noclobber unset noglob set nobeep # デフォルトであったからそのまま流用 if ($?prompt) then # An interactive shell -- set some stuff up set filec set history = 100 set savehist = 100 set mail = (/var/mail/$USER) if ( $?tcsh ) then bindkey "^W" backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward endif endif |
これらの設定の中で全てのユーザが使うようなものは、/etc/csh.cshrcに書いておくと良いです。
# /etc/csh.cshrc setenv PACKAGEROOT ftp://ftp2.jp.freebsd.org/ setenv PACKAGESITE ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4-stable/Latest/