コマンドラインからkonsoleまたは用語を起動したときに別の.bashrcをロードする

コマンドラインからkonsoleまたは用語を起動したときに別の.bashrcをロードする

コマンドラインからコンソールまたは用語を起動すると、デフォルトの.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を呼び出します。

関連情報