.profileと.bashrcリフレッシュ

.profileと.bashrcリフレッシュ

私が読んださまざまな提案に基づいて、ファイルとファイルを.profile分離しました。変更後に環境を更新し、シェルをシャットダウンして再開するのを防ぐために使用する.bashrcエイリアスがあります。しかし、現在、2つの問題があります。bin.profile.bashrc

  1. $PATHデフォルト値が前に追加されるため、更新するたびに私の値が大きくなります$PATH
  2. fortune更新するのではなく、新しいシェルを起動するときにのみ必要ですbin

望ましくない副作用なしに環境を更新する最も正確でハッキング的ではない方法は何ですか? (システムパスをコピーし.profileいいえオプション! )

.profile

# LOTS OF EXPORTS
export ***
export ***
export PATH=.:$HOME/bin:***:$PATH

shopt -s extglob
[ -n "$BASH_VERSION" ] && [ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
fortune

.bashrc

# LOTS OF ALIASES
alias ***
alias ***
alias bin='source $HOME/.profile; set +h'

# LOTS OF FUNCTIONS
foo() {}
bar() {}

ベストアンサー1

環境を更新する最も簡単で簡単な方法は、現在のシェルセッションを終了して新しいセッションを開始することです。


現在のシェルから新しいログインシェルを起動することもできますが、これにより環境変数を変更してPATH一部の状態にリセットしなかった場合でもPATH

を使用して新しいシェルを起動することもできます。これにより、env -i bash -l新しいログインシェルを呼び出すenv -i前に環境が消去されます。bashこれは継承された環境が異なるため、新しい端末で新しいシェルを起動するのとは異なる場合があります。

おすすめ記事