
複数の環境セットを実行する必要があります。これには2つのbashrcファイルセットがあり、bashrc_a
起動bashrc_b
時にbashrc_a
makeを介して.bashrc
実行します。
source bashrc_a
環境からbashrc_a
切り替える必要がありますが、環境変数を環境に保持したくbashrc_b
ありません。このために私は努力しましたbashrc_a
bashrc_b
env -i bash --rcfile bashrc_b
ところが問題はこの場合には私が負けるということだ。みんなbashrc_a
.I don't have HOME
, I don't havePATH
などの環境変数。
私が試したもう一つのこと
env -i bash --login --rcfile bashrc_b
ただし、これを行うと、ログインシェルがファイルを見つけてからファイルを見つけてからファイルを~/.bashrc
削除したbashrc_a
ため、役に立ちません。TERM
env -i
それで私の質問はどうすればいいですか?削除する bashrc_a
そしてロードbashrc_b
?
答え1
説明で見るとあなたにはないようです。実際にbashrc_b
から環境をロードしたいですbashrc_a
。
あなたが仮定欲しくないソースまたはbashrc_a
またはから。bashrc_b
.bashrc
.bash_profile
bash
シェルを正常に起動します。bashrc_a
環境を起動しますbash --rcfile bashrc_a
。bashrc_b
環境を切り替えたい場合exit
まずbash --rcfile bashrc_b
欲しいなら維持する周辺環境をbashrc_a
確認し、別の端末を開いて実行してくださいbash --rcfile bashrc_b
。
別のオプションは、rc
各環境に対応する「削除」ファイルを作成することです。これら2つのファイルは環境の設定を解除またはリセットして、bashrc_x
そのファイルで実行されたすべての操作をキャンセルします。その後、source bashrc_a
これを行うことができます(またはソースコードのみが必要です)。source unbashrc_a
source bashrc_b
bashrc_b
unbashrc_a
しかし、これを書いて最新の状態に保つのは難しいかもしれません。