명령줄에서 콘솔이나 용어를 시작하면 기본 .bashrc가 로드됩니다. 하지만 전달된 옵션을 사용하여 다른 구성을 로드하고 싶습니다. 지금까지 제가 생각할 수 있는 최선의 방법은 전달된 옵션에 따라 .bashrc를 대체하기 위해 세 가지 구성 파일인 .bashrc0, .bashrc1 및 .bashrc2를 유지하면서 옵션을 허용하는 함수를 .bashrc에 정의할 수 있다는 것입니다.
#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
서로 다른 설정으로 로드된 두 개의 새 터미널을 시작합니다. 콘솔과 동일합니다.
그런데 하나 있나요?상속 방법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를 호출합니다.