シェルの設定
シェルとは
TCSH初期化ファイル
.cshrc
設定
.cshrc の設定例
.xinitrc の設定例
※補足
シェルコマンド
UNIXを利用するとき、ユーザーは、UNIXのシステムサービスにダイレクトに
アクセスするわけではなく、" シェル " と呼ばれるプログラムがカーネ
ルとユーザーの間にたち、コマンドラインでのユーザーインターフェイスを
提供します。シェルは、ユーザーから入力されたコマンドなどをシステムに渡
したり、またカーネル が処理した結果をユーザーに対して表示するなどの
基本機能を始め、さまざまな機能を提供しています。
Cシェルには、.login, .cshrc, .logoutの3つの初期化ファイルがあり
ます。.loginファイルはユーザがログインするたびに実行されるログイン初
期化ファイルです。.cshrcファイルはCシェルに入るたびに実行される
シェル初期化ファイルです。.logoutファイルはログアウトするたびに実行
されます。
.cshrc初期化ファイルは、ユーザがCシェルに入るたび、またはサブシェ
ルの起動にを成功するたびに実行されます。Cシェルがログインシェルである場合
は、ログイン時に.loginファイルとともに.cshrcファイルが実行されます。
ほかのシェルからCシェルに入った場合は、.chsrcファイルが自動的に
実行され、その中から変数おようびエイリアスの定義が定義されます。
今回Cシェルを基本に、様々なOSにログインした時に、ログインしたOSに
あった環境で操作を行うため、コマンドのPATHやX Windows System を正
常に立ち上げるための設定を説明します。
まず設定するファイルは2つです。ディレクトリも一つ作ります。
1, .cshrc --------Cシェルのファイルです。
2, .xinitrc --------X Window System 起動時に自動的に実行されるスクリプトのファイルです。
3, .rc --------ログインするOSの設定したシェルのファイルを置くためのディレクトリ
#
# .cshrc setting file
# ログイン時にシェルを読みこんだホスト名を条件分岐を使ってhost変数に取得します。
#
umask 022
# get hostname
if ($?HOST) then
set host = $HOST
else
if ( -x /bin/hostname || -x /usr/bsd/hostname ) then
set host = `hostname`
else if ( -x /bin/uname ) then
set host = `uname -n`
else
set host = myhost
endif
endif
switch ($host)
case *.jaist.ac.jp:
setenv hostname `echo $host | sed 's/.jaist.ac.jp//'`
breaksw
case *:
setenv hostname $host
breaksw
endsw
unset host
# get ttyname
# 端末の設定ファイル
if (! $?tty) then
if ( -x /bin/tty ) then
set tty = `tty | sed 's/\/dev\///'`
else
set tty = mytty
endif
endif
# set ostype of architecture
# ログインするOSをswitch文を用いて os 変数に取得します
if ( -x /bin/uname) then
set ostype = "`uname -s -r`"
switch ("$ostype")
case "SunOS 4.*":
setenv os sun4
breaksw
case "SunOS/CM 4.*":
setenv os sun4
breaksw
case "SunOS 5.*":
setenv os sun5
breaksw
case "NEWS-OS 4.*":
setenv os news4
breaksw
case "NEWS-OS 6.*":
setenv os news6
breaksw
case "FreeBSD *":
setenv os fbsd
breaksw
case "AIX *":
setenv os aix
breaksw
case "OSF1 *":
setenv os alpha
breaksw
case "HP-UX *":
setenv os hpux
breaksw
case "IRIX *":
setenv os sgi
breaksw
case "IRIX64 *":
setenv os sgi64
breaksw
case "Linux *":
setenv os linux
breaksw
endsw
unset ostype
else
setenv os unknown
endif
# 自分のホームディレクトリの下の.rcディレクトリを rc変数に設定
setenv rc $HOME/.rc
# source
# .rcディレクトリ以下に置いてある各OSのシェルファイルを読み込んで実行する
source ${rc}/.cshrc-${os}
|
#
# .xinitrc - this file get executed at starting X window
# X Window System 起動時に自動的に実行されるスクリプト
# .rcディレクトリ以下の各OSの.xinitrcファイルを読み込んで実行する
source ${rc}/.xinitrc-${os}
|
setting.tar.gz
$ 変数名を使用して変数の値を参照
-x file ファイルfileが存在し、実行可
-d dir ディレクトリdirが存在する
set Cシェル変数を設定する
unset Cシェル変数を取り消す
setenv 環境変数を設定する
unsetenv 環境変数を取り消す
sed データのストリームを編集する
breaksw swich文から抜ける
endsw switch文全体の終りの印
tty 現存する仮想端末デバイス(TTY)の情報を表示する。
uname システムの情報を表示
source ファイルを読み込んで、実行する
.cshrc cshの設定ファイル
.xinitrc X Window System 起動時に自動的に実行されるスクリプト