Skip to content

Instantly share code, notes, and snippets.

@tokunami
Last active August 29, 2015 14:27
Show Gist options
  • Save tokunami/86d32c23ed48af00635a to your computer and use it in GitHub Desktop.
Save tokunami/86d32c23ed48af00635a to your computer and use it in GitHub Desktop.

Settings of .bash_profile and .bashrc

  • ログインシェルをbashにしている場合、ログイン時に以下の順番で設定ファイルが読み込まれていく。PATHを通す、エイリアスを定義する、プログラムを起動する、など
  1. /etc/profile
  2. ~/.bash_profile…存在していれば読み込まれる(無くてもよい)
  3. ~/.bash_login…ログインして2がないと読み込まれる(無くてもよい)
  4. ~/.profile…ログインして2、3がないと読み込まれる(無くてもよい)
  5. ~/.bashrc…ログインで毎回読み込まれる(無くてもよい)

.bash_profile

  • ログイン時にのみ実行される → ログイン時に一度設定すればいいものを記述
  • 環境変数(exportする変数)の設定など

export http_proxy=http://xxxxxx:1234
export https_proxy=http_proxy
export NODEBREW_ROOT=/usr/local/var/nodebrew

余分な改行やスペースは避ける。=前後のスペースは不要。

  • 変更を有効にするには
$ source ~/.bash_profile

.bashrc

  • 対話モードのbash(ってなんぞや?)を起動する時に毎回実行される → bashを起動するたびに設定する必要があるものを記述
  • 環境変数でない変数(exportしない変数)の設定、エイリアス定義、シェル関数定義、コマンドライン補完の設定など

.bashrcのSourcing

  • 以下のスクリプトを.bash_profileに加えておくと、同じ環境が得られる。
if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
  if [ -f ~/.bashrc ]; then
    source ~/.bashrc
  fi
fi

→ Terminalの新たなウィンドウやタブが開かれた時のみ.bash_profileから.bashrcを実行するというスクリプト

@tokunami
Copy link
Author

環境変数の設定を確認するコマンド

$ printenv | less

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment