シェルの設定

シェルはユーザとOSの橋渡しをする物です。
例えばMS-DOSではコマンドプロンプトがそれに当たります。
UNIX系OSではシェルでコマンドを打つことによって全てのことが出来ると言えます。
そんなわけでシェルはとっても大切なのです。


シェルの設定

シェルには様々な種類があります。
その違いは、シェルスクリプトの書き方などですが、まぁ、好みで使って良いと思います。
あるユーザの(ログイン)シェルを変更するには /etc/passwd ファイルの : で区切られた第10フィールドを変更しましょう。


tcshを使う

ここでは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/


戻る
PC-9821トップへ
THLAND ホームへ