コマンドラインからコンソールまたは用語を起動すると、デフォルトの.bashrcがロードされます。しかし、渡されたオプションを使用して別の設定をロードしたいと思います。これまで私が考えることができる最善の方法は、渡されたオプションに応じて.bashrcを置き換えるために、3つの設定ファイル.です。
#new term function
nterm (){
if [ "$#" == "1" ]; then
if [ "$@" == "option_a" ]; then
yes | cp $HOME/.bashrc1 $HOME/.bashrc
term
yes | cp $HOME/.bashrc0 $HOME/.bashrc
else if [ "$@" == "option_b" ]; then
yes | cp $HOME/.bashrc2 $HOME/.bashrc
term
yes | cp $HOME/.bashrc0 $HOME/.bashrc
fi
else
term
fi
}
だから私は電話できます。
$nterm option_a
または
$nterm option_b
異なる設定でロードされた2つの新しい端末を起動します。コンソールと同じです。
ところで一つありますか?継承方法term/console/bashでこれを行うか、よりクリーンで明確な代替?
答え1
bash--rcfile
引数を使用することをお勧めします。これにより、対話型bashシェルは指定されたRCファイルを使用します。代わりにの~/.bashrc
。機能を次に変更します。
nterm (){
if [ "$#" == "1" ]; then
if [ "$@" == "option_a" ]; then
term -e bash --rcfile "$HOME/.bashrc1"
else if [ "$@" == "option_b" ]; then
term -e bash --rcfile "$HOME/.bashrc2"
fi
else
term
fi
}
私はそのterm
コマンドに慣れていません。タグでは、それがgnome-terminalまたはラッパーであると仮定しています。この場合、対応するRCファイルを使用してbashを呼び出します。