コマンドラインから.bash_profile
をリロードするにはどうすればいいですか?終了してログインし直すことで、シェルに.bash_profile
への変更を認識させることができますが、それをオンデマンドで実行できるようにしたいと思います。
単にsource ~/.bash_profile
と入力してください
あるいは、キーストロークを保存したい場合は、. ~/.bash_profile
と入力できます。
. ~/.bash_profile
現在の状態に依存関係がないことを確認してください。
単純に入力してください。
. ~/.bash_profile
ただし、ターミナルを開くたびに実行するのではなく、ターミナルの起動時に自動的に実行されるようにしたい場合は、. ~/.bash_profile
ファイルに~/.bashrc
を追加します。
注:
端末を開くと、端末は(非ログイン)対話モードでbashを起動します。これは、~/.bashrc
が読み込まれることを意味します。
~/.bash_profile
は対話型ログインモードで起動されたときにのみbashから供給されます。これは通常、コンソールにログインしたときだけです(Ctrl+Alt+F1..F6)、またはssh
経由で接続します。
このコマンドを使用して、そのユーザーの〜/ .bash_profileを再ロードすることもできます。ダッシュを必ず使用してください。
su - username
cd
と入力してユーザーのホームディレクトリに移動します。 . .bash_profile
でプロファイルを再読み込みしてください 私はあなたがファイルを編集した直後にあなたがする必要があるのはタイプだけであるという事実が好きです:
. !$
これはあなたが過去に編集したばかりのファイルを参照します。 を参照してくださいbashの前金とは何ですか 。
現在のシェル端末の履歴を失うことを気にしないなら、あなたもすることができます
bash -l
それはあなたのシェルを分岐させ、bashの別の子プロセスを開きます。 -l
パラメーターは、bashにログインシェルとして実行するように指示します。これは、.bash_profileが非ログインシェルとして実行されないためです。これについての詳細は こちらをご覧ください
現在のシェルを完全に置き換える場合は、次のこともできます。
exec bash -l
上記は現在のシェルをフォークするのではなく、完全に置き換えます。したがって、exit
と入力すると、以前のシェルにドロップするのではなく、完全に終了します。
あなただけの. ~/.bash_profile
を入力する必要があります
参照してください: https://superuser.com/questions/46139/what-does-source-do
あなたのbashファイルにalias bashs="source ~/.bash_profile"
を追加してください。したがって、次回からbashs
を呼び出すことができます。
私はsource ~/.bash_profile
を使用している間、または上で述べた答えがうまくいくという簡単な答えを投稿したいと思いましたが、これはあなたが見ている現在のタブまたはセッションであなたのbashプロファイルをリロードするだけです。すべてのタブ/シェルに自分のbashプロファイルをリロードしたい場合は、それぞれにこのコマンドを手動で入力する必要があります。
iTermを使えば、 CMD⌘+Shift+I 現在のすべてのタブにコマンドを入力する 。端末ではこれを参照すると便利かもしれません issue ;
alias reload!=". ~/.bash_profile"
または関数を介してログを追加したい場合
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
私はDebianを使用しており、これを達成するためには単にexec bash
と入力することができます。他のすべてのディストリビューションでもうまくいくかどうかはわかりません。
私はSierraを実行していて、しばらくこれに取り組んでいました(すべての推奨される解決策を試してください)。私は混乱したので、結局私のコンピュータを再起動してみた!出来た
私の結論は時々ハードリセットが必要であるということです