2012-03-31 21 views
3

私の.bashrcファイルにscalaを追加しましたが、私のMacをシャットダウンして戻ってもそれを見つけられません。私がするときホームディレクトリの.bashrcは自動的に読み込まれますか?

source ~/.bashrc 

すべてが正常に戻っています。問題は全体的にファイル全体にあると言いますが、問題は以前はうまくいきましたが、問題はscalaで永続しています。誰がなぜこれが問題なのかを知り、なぜ問題を抱えているのかを説明してください。

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 
export PATH="/usr/local/mysql/bin:$PATH" 
export PATH="/Users/Zeroe/scala-2.9.1-1/bin:$PATH" 
+2

は[こちら](http://apple.stackexchange.com/questions/12993/why-doesnt-bashrc-run-automatically)を参照してください。 – ughoavgfhw

+0

ええ、ありがとう、リンクのためにたくさん。私はチャンスがあるときにそれを試してみる。私はそれが動作する場合は、私はそれを受け入れることができるように確かに答えとしてそれを入れてください。 – Andy

答えて

6

あなたのシェルは、おそらくケースbashがために、様々なプロファイルのファイルを読み込みますするログインシェル、次のとおりです:

スカラ座正しくRVMとMySQLを実行しますが、ない私の.bashrcファイルにいただきました!これがあります
  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

これらのファイルの1つからソースを取得するのが普通です(~/.bashrc)ので、ログインシェルにも同じ設定が適用されます。

これは私の~/.profileが含まれているものです:

# ~/.profile: executed by the command interpreter for login shells. 
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 
# exists. 
# see /usr/share/doc/bash/examples/startup-files for examples. 
# the files are located in the bash-doc package. 

# the default umask is set in /etc/profile; for setting the umask 
# for ssh logins, install and configure the libpam-umask package. 
#umask 022 

# if running bash 
if [ -n "$BASH_VERSION" ]; then 
    # include .bashrc if it exists 
    if [ -f "$HOME/.bashrc" ]; then 
    . "$HOME/.bashrc" 
    fi 
fi 

# set PATH so it includes user's private bin if it exists 
if [ -d "$HOME/bin" ] ; then 
    PATH="$HOME/bin:$PATH" 
fi 
export LANGUAGE="en_US:en" 
export LC_MESSAGES="en_US.UTF-8" 
export LC_CTYPE="en_US.UTF-8" 
export LC_COLLATE="en_US.UTF-8" 
26

私は、これらのスクリプトにecho "${BASH_SOURCE[0]}"を追加することで、この図を考え出しました。

     +-----------------+ +------FIRST-------+ +-----------------+ 
        |     | | ~/.bash_profile | |     | 
login shell -------->| /etc/profile |-->| ~/.bash_login ------>| ~/.bashrc  | 
        |     | | ~/.profile  | |     | 
        +-----------------+ +------------------+ +-----------------+ 
        +-----------------+ +-----------------+ 
        |     | |     | 
interactive shell -->| ~/.bashrc -------->| /etc/bashrc  | 
        |     | |     | 
        +-----------------+ +-----------------+ 
        +-----------------+ 
        |     | 
logout shell ------->| ~/.bash_logout | 
        |     | 
        +-----------------+ 

  1. []-->[](自動的に)source by workflowを意味します。
  2. [--->[]手段source by convention(手動。そうでない場合、何も起こらない)。
  3. FIRSTは意味find the first available, ignore rest
+0

それは本当に素晴らしい答えです。 –

+0

すてきな画像 - 通常この物に見られるテキスト文書の壁よりもはるかに優れています。 –

関連する問題