スクリプトを呼び出したシェルに、スクリプト内から.bashrc
をリロードさせるにはどうすればよいですか?
私が好きなようにすべてを設定する「新しいボックス」スクリプトを作成しようとしています。 .bashrc
のリロードを除くすべてが機能します。
私は. ~/.bashrc
またはexec bash
または変更を適用する他の方法を「ただ」実行できることを知っていますafterスクリプトを実行します。しかし、それは一種のワンボタン修正を行う目的を打ち負かし、最後のステップにねじ込むためだけにここまで来ることは私を笑わせる
source ~./bashrc
exec bash
のすべてをスクリプトに追加しようとしましたが、呼び出し元のシェルではなく、スクリプトの環境にのみリロードするため、喜びはありません。
私はまだかなり新しいので、おそらく答えをグーグルで検索できない理由を説明する非常に明白なものです>。<
どんな助けも大歓迎です。
これはすべてのために働くとは限りません。そして、私がやってはいけないことをしているのかもしれません。
script.sh
では、. script.sh
の代わりにbash script.sh
で呼び出すと、すべてが実行され、それに応じて更新されるようです。
わーい!
ばかげているように聞こえますが、私もこの辺りでは新しいですが、必要な環境をスクリプトから直接エクスポートし、後で使用するために.bashrcに追加した場合はどうでしょうか。
たとえば、環境変数が存在するかどうかを確認してロードします:
### MySQL
if [ -z "$MYSQL_HOME" ]; then
export MYSQL_HOME="/usr/local/mysql"
export PATH="$MYSQL_HOME/bin:$PATH"
fi
そして、このセグメントコードも.bashrcにコピーします...
編集
私は実際にこれにつまずいた スクリプトの〜/ .bashrcファイルを更新する