내 로컬 우분투 컴퓨터에서 터미널을 열면 소스 코드를 가져오지만 .bashrc
SSH를 통해 연결하면 소스 코드를 가져오는 것으로 나타났습니다 .bash_profile
. 로컬에서 작업할 때 두 개의 파일 소스를 갖도록 .bashrc
소스 코드에 한 줄을 추가했습니다 . .bash_profile
원격으로 컴퓨터에 액세스할 때 동일한 동작을 원합니다. 물론 그냥 입력하면 무한 루프에 빠지게 됩니다 .bashrc
. .bash_profile
이것을 설정하는 올바른 방법은 무엇입니까?
답변1
명령을 사용할 수 있습니다 shopt login_shell
. 쉘이 비로그인 쉘이면 인쇄되고 login_shell off
, 로그인 쉘이면 인쇄됩니다 login_shell on
.
.bash_profile
대화형 로그인 모드에서 시작하거나 SSH를 통해 액세스할 때마다 bash에서 가져옵니다. 따라서 .bash_profile
다음과 같이 if 조건을 추가할 수 있습니다.
if [ "$(shopt login_shell | cut -f2)" = "on" ]
then
source .bashrc
fi
.bashrc
터미널에서 bash를 시작할 때마다 소스 코드를 가져오므로 if 조건을 추가할 수 있습니다..bashrc
if [ "$(shopt login_shell | cut -f2)" = "off" ]
then
source .bash_profile
fi