• ベストアンサー

.cshrcについて教えてください。

.cshrcとは何か教えてください。 またその中身は何についてかかれているのですか、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.3

1.rcとは何か Run Commandの略で、連続実行されるいくつかのコマンド群(およびそれらをプログラム化したもの)をひとまとめにして実行権を与えたファイル。 主に定型処理(よく使うコマンドの組み合わせ)に利用される。 makeの登場によってRun Commandとしての活躍の場は大きく減りましたがOS起動時の設定やコマンドインタプリタの設定などに利用される。 大雑把に言うと「特定用途向けのシェルスクリプトに与えられる呼び名」という事になる。 2.cshが利用するrc cshは3つのrcを利用する。 ・.cshrc: csh起動時に実行されるrc。 csh起動の度に実行される為、環境変数の設定には向かない(環境変数を設定する事は可能)。 ログインシェルとしてcshを指定した場合、プロンプト表示前に実行されている。 $ csh<CR>のようにcshを実行すると新しいcshでも実行される。 結果として環境変数(親のcshから子のcshへ自動的に受け継がれる)の設定は無駄に繰り返される。 一般に親→子へ自動的に受け継がれないシェル変数やエイリアスの設定に用いられる。 主にコマンドプロンプトとしてのcshが使いやすくなるような設定を記述する為、cshスクリプトの実行時には邪魔なだけであることが多い。 cshスクリプト実行時には-cオプションを指定する事で.cshrcを実行せずにcshを起動することができる。 .login: ログインシェルとして起動されたcshが実行するrc。 正確にはloginプロセスからexecシステムコールで起動されたcshのみが実行する(=同じログインでもsuコマンドからexecされたcshは.loginを実行しない)。 結果として「ログインシェルで無いcshは.loginを実行しない」ことになり、親→子の自動的に引き継がれる情報(=環境変数など)を設定するのに向いている。 .logout: ログインシェルであるcshが終了時に実行するrc。 3.その他のシェルの場合 .loginと.logout:ほとんどのシェルがcshと同じ目的で利用する。 bash:.bashrc tcsh:.tcshrc ksh:.kshrc 以上3つは各シェルが利用するものでcshにおける.cshrcと同じ位置付けとなる。 (コマンドインタプリタとして起動されることが“極端に”少ないshについては無視しています) 4..で始まるファイル名 lsコマンドで表示したくないファイルに付けるファイル名。 これらを表示する為には-aオプションをつけなければならない。 shiroshiroさんがどの程度御存知なのか不明なので余計な事まで書いてしまいました。 「もう知ってるよ」という内容、「ソコまで知らなくていいよ」という内容が含まれていたならゴメンナサイ。

その他の回答 (2)

  • yfujii
  • ベストアンサー率17% (14/80)
回答No.2

UNIXのcシェル起動時に最初に直接実行されるcシェルスクリプトファイルです。 cシェルでなければ実行されません。 1.cシェル起動時とは  通常cシェルでログインする場合、Cシェルのウインドウを開く場合、cシェルのスクリプトコマンドが実行される場合等です。 2.直接実行されるとは  子プロセスで実行されるのではなくキーボドから入力したように実行後も実行結果が残ります。(子プロセスで実行すると終了後は、実行前と同じ環境に戻ります。) 3.よくある中身は環境変数の設定(実行用の検索パス、言語、エディタの設定等各種)ですが、個人で何をかかれても問題ありません。

  • boya
  • ベストアンサー率22% (44/193)
回答No.1

Unixで使われる、環境等を設定するためのファイル PCでいうAutoEXEC.BAT&config.sysのようなもの。 一般に、ユーザー単位での環境等を設定するためのファイルです。 ログイン時に自動的に実行されるファイルです。

関連するQ&A

  • bachとcshの設定

    Linuxのインストールを実施して 新規ユーザーアカウント(以降@user)を作成しました。 linuxはデフォルトでbashが設定されていると某HPには掲載されていまいたが、自分の環境を見てみると、rootは~/.cshrcを、新規作成のuserは~/.bashrcを読んでるみたいです。 今までcshしか使用したことがなかったので、自分好みの~/.cshrcを作成しようと試みたのですが、 (1)rootの~/.cshrcを編集して、sourceしたが認識されない。 (2)rootの~/.cshrcをuserのhomeにコピーして、sourceしたが認識されない。 このような状況です。 rootの~/.cshrcがsourceできないのは何が原因でしょうか。また、どうしたらbash環境からcsh環境に変更できるのでしょうか。 どなたかご教授ください。よろしくお願いします。

  • .cshrc ファイルについて

    新しくUNIXのパソコンを引き継いだのですが、分からない事だらけで困っています。 どうか、教えて下さい。 聞きたいことは 1. ホームディレクトリ下に.cshrcファイルがないけど、作ったほうが良いのか? 2. 作成する場合はどの様にすればよいのか? 3. rootユーザにも『passは通し』た方が良いのか? 等です。 状況などを 説明をさせて頂きます。 『intelフォートラン コンパイラ』をインストールする必要があり、インストールまでは出来た(と思う)のですが、 手引きのページに、以下の記述がありました。 > この後、.cshrc等にpathの設定をする。設定の書き方の例はデフォルトの/opt/intel/fc/9.0にインストールした場合、 > /opt/intel/fc/9.0/bin/ifortvars.csh や > /opt/intel/fc/9.0/bin/ifortvars.sh > に記載されているので、参照すること。 > .cshrcの場合、このifortvars.cshに記載されているのをそのまま.cshrcに加えれば良い。 > 同様に、 > /opt/intel/idb/9.0/bin/idbvars.csh > /opt/intel/idb/9.0/bin/idbvars.sh > の内容を加えることで、デバッガーのpathも通しておく。 .cshrcファイルがどの様な物なのかも分からなく、調べるうちにそのユーザの設定ファイルである事は分かりました。 それで調べたところ、ログインしているユーザーのホームディレクトリには.cshrcファイルがありません。 su に切り替えてfind コマンドで検索したところ、rootフォルダの下に同名のものが1つありました。 また別のページに > 『今回紹介する技は、csh (C シェル、ECC の UNIX 環境でのデフォルトのシェル) の設定ファイルの編集です。 > これを編集するだけで、シェルの挙動を変更して日頃の生活を快適にすることができます。 > ただし、下手をするとログインできなくなるので、注意深く実行してください。 』 > 『.cshrc はホームディレクトリにおいておくものです。もしなければ、作ってください。..』 なんて記述もあり、これから毎日使っていくものなので、作くるべきかな?と思っているのですが、 どのようにしたらいいのか分かりません。 rootフォルダ下の.cshrcファイルをコピーしてきたら良いのでしょうか? 環境は、2台のPCをLANで繋いでおり、それぞれ CentOS が入っています。 普段はマスターでログインし、スレーブはあまり使ってません。 マスターは部屋のサーバーとなっているようです。 ログイン出来なくなるのがとても怖いのです。 自分だけのユーザーを作ったほうが良いのでしょうか? 色々調べてはいたのですが、確信を持てないので質問させて頂きました。(Linux は種類が多いので..) どうか教えて下さい。よろしくお願いいたします。

  • ロケールをutf8からsjisにするとログイン時に「イベントがありません」エラー

    こんにちは。私はLinux CentOS5を使っています。 あるユーザ(aaaとする)でログインシェルを/bin/cshにしています。 システムロケールをUTF8からSJISに変更すると(i18nファイルを変更しました)、 [aaa@centos ~]$ su - aaa パスワード: ~: イベントが見つかりません. となってcshスクリプトなどが使えず、/home/aaa/.cshrcも正常に読み込まれないようなので、/home/aaa/.cshrcで書いているPATHなどが通っていません。 わからないのは、システムロケールがUTF8の時は問題なくログインして.cshrcもちゃんと読めていたのに、SJISにするとエラーが起こることです。 どうかよろしくお願いします。

  • rootにpathを通す方法

    こんにちは、kaituyoと申します。 Solaris8でのpathの通し方の質問です。一般ユーザーの場合ですとHOMEディレクトリの中の「.cshrc」ファイルにpathを書きこみシェルを再実行させればコマンドが使えるようになりました。しかし、rootでログインすると使えません。それで、rootにもpathを通そうかしたら「.cshrc」が見つかりません。  rootでpathを通してコマンドを実行できるようにはどうしたらいいのでしょうか? よろしくお願いします。

  • chsのプロファイルのloginと.logoutはいつ実行されるのか?

    cshのプロファイルには.cshrcの他に、.loginと.logoutが存在しますが、これらはいつ実行されるのか教えてください。 端末:solaris9

  • Mac OSXのターミナルに関して

    Mca OSXにxfree86をインストールしようとして、 %echo "set path=(/usr/X11R6/bin)" >> .cshrc %source ~/.cshrc %rehash 上記のコマンドを打ったところ、それまで使っていた一連のシェル(less, clear, cd等)が使用できなりました。恐らくpathの設定を変えてしまったからだと思いますが、元の設定に戻すにはどうしたいいでしょうか? どうぞよろしくお願いします。

  • 【Linux】loginと.cshrcのログイン時

    Linuxで.loginと.cshrcのログイン時に両方は不可能ですが、どちらが先に優先された行われるでしょうか? また、その確認方法を教えてください。

  • .cshrc ファイルに追加したい

    UNIX上でOracleを利用するために、.cshrcファイルの最後にsource /user/local/bin/cwmucsenvと言うものを追加したいのですが、どうやって追加したらいいのかわかりません。 ファイルの呼び出し方法、追加方法を教えていただきたいです。よろしくお願いします。

  • vine2.5でtcshが使えない

    DELLのパソコン(Dimension4500C)にVine2.5をインストール しました。シェルはbashならば問題なく動作するのですが、 tcshにすると、 "limit : coredunmp size 設定できません。(制限)" というエラーメッセージが出てしまい、.cshrcに追加したpath等を認識して くれません。どこの設定を変更すれば、この問題を解決できるでしょうか? それに関連してもう一つ。DELLのDimension4300Sというパソコンにも 同じVine2.5を上と同じようにインストールしたのですが、その時も 上と同じようなエラーメッセージが出たのですが、その時は、.cshrc追加した path等の設定はきちんと認識してくれました。これはなぜなんでしょうか? 何かアドバイスがあればよろしくお願い致します。

  • .cshrcでのエラー

    シェル初心者です。 現在、さくらのレンタルサーバで.cshrcの設定を行っています。 os :FreeBSD 9.1 64bit Perl : Ver.5.8.9です。 http://d.hatena.ne.jp/perlcodesample/touch/20101027/1278596435を参考にして .cshrc内に setenv PERL5LIB /home/hogehoge/local/lib/perl5:/home/hogehoge/local/lib/perl5/site_perl:$HOME/perl5/lib/perl5:$PERL5LIB; # @@ Added by CPAN local setup tool @@ setenv PERL_CPANM_OPT="--local-lib=~/perl5"; という記述を追加しましたが % source .cshrcを実行すると setenv: Variable name must contain alphanumeric characters. というエラーが出ます。 何やら変数名をアルファベットで書けと言っているようですが、 #setenv PERL_CPANM_OPT="--local-lib=~/perl5"; というようにこの一行をコメントアウトするとエラーは出ません。 どこがまずいのでしょうか? 初歩的な質問で恐縮ですが、宜しくご教授お願いいたします。

専門家に質問してみよう