.cshrc
設定ファイルだよ
cshを起動したときに読み込まれるよ
tcshを起動して「.tcshrc」がない場合にも読み込まれるよ
簡単に書くよ
.cshrcとは
cshを起動したとき、あるいは、tcshを起動して「.tcshrc」がないときに読み込まれる設定ファイル
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・ログイン
・シェル
・csh
・tcsh
・ログインシェル
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ログインは、ざっくり一言で説明すると「認証して使える状態にすること」です。
ログインする対象が会員制の秘密クラブだとしたら、その秘密クラブの中に入っていくイメージですかね。
多くの場合、ログイン時の認証はIDとパスワードを使ってやります。
IDは、ログインする対象のサービスから払い出されたIDだったり、登録するときに入力した自分のメールアドレスだったり、初期設定のときに自分で決めたIDだったりです。
パスワードは会員登録とかするときに自分で決めたパスワードです。
それらのIDとパスワードを入力して「おまえは使ってOKなやつかな?」を確認してもらい「あぁ、おまえは使ってOKなやつか。どうぞ使ってください」にするのがログインです。
シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。
コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。
ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。
あなたがパソコンの中身と直接やり取りすることは ありません。
あなたが やり取りする相手は、シェルです。
シェルが、あなたの代わりにパソコンの中身と やり取りしてくれます。
シェルの詳細は、用語「シェル」の説明を ご覧ください。
cshは「シェルの種類のひとつ」です。
一口に「シェル」と言っても、いろいろ あります。
その「いろいろ」のひとつです。
tcshは「cshをパワーアップしたシェル」です。
いろいろあるシェルのひとつです。
ログインシェルは「ログインして最初に相手してくれるシェル」です。
シェルはログイン直後から動き始めます。
この
ログインしたときに起動するシェル
がログインシェルです。
ちなみに、使うシェルは途中で別のやつに変えることもできます。
ログインしたときのシェルはbashだったけど途中からcshに変える、といったことも可能です。
以上を踏まえて
cshを起動したとき、あるいは「.tcshrc」という設定ファイルがない状態でtcshを起動したときに読み込まれる設定ファイル
が「.cshrc」です。
「.cshrc」はログインした直後のディレクトリ(ホームディレクトリ)にあります。
場所を指定しないで
cd
コマンドを実行したときに移動するディレクトリです。
ただし「.cshrc」は隠しファイルです。
普通に
ls
を実行しても表示されないかもしれません。
「-a」オプションを付けて
ls -a
を実行すれば「.cshrc」も表示されます。
また「.cshrc」が読み込まれるタイミングですが、単純だけどややこしいです。
順番に見ていきましょう。
まず、cshを起動したときに「.cshrc」が読み込まれます。
注意点として「.bashrc」と違って
・cshをログインシェルに設定した状態でログインした場合
・ログインした後に画面上からcshに変えた場合
のどちらでも読み込まれます。
※「.bashrc」は「(ログインした後に画面上から)bashを起動したときに読み込まれる設定ファイル」です。余裕がある方は併せて覚えてあげてください。
次に「.tcshrc」がない状態でtcshを起動したときにも読み込まれます。
「.tcshrc」は「tcshを起動したときに読み込まれる設定ファイル」です。
この「.tcshrc」の代わりとして「.cshrc」が読み込まれます。
いわば「.tcshrc」の補欠のような位置付けですね。
「.cshrc」が読み込まれるタイミングは、基本的には、この2つです。
・csh起動時
・tcsh起動時(「.tcshrc」がない場合)
ね。
ただし、環境によってはcshがtcshのエイリアス(別名)になっていることがあります。
その場合、cshと言っても中身はtcshです。
よって、細かく分けると「.cshrc」が読み込まれるタイミングは
・csh起動時
・tcsh起動時(「.tcshrc」がない場合)
・csh(tcshの別名)起動時(「.tcshrc」がない場合)
の3つになります。
実は私の環境ではcshを起動したのに「.cshrc」が読み込まれなくてですね。
少し焦ったのです。
調べてみたら、私の環境ではcshはtcshの別名でした。
そして「.tcshrc」があったのです。
そのせいで、cshを起動しても「.cshrc」が読み込まれない状態(代わりに「.tcshrc」が読み込まれる状態)になっていました。
cshを起動しても「.cshrc」が読み込まれない場合は
・cshがtcshのエイリアスになってないか
・「.tcshrc」が読み込まれていないか
の2つを確認してみてください。
おそらく、それで解決すると思います。
一言でまとめるよ
まぁ「.cshrc」って単語が出てきたら「csh起動時、あるいは、.tcshrcがない状態でのtcsh起動時に読み込まれる設定ファイルなんだな~」と お考えください。






