로컬 및 원격 액세스를 위해 .bash_profile 및 .bashrc 설정

로컬 및 원격 액세스를 위해 .bash_profile 및 .bashrc 설정

내 로컬 우분투 컴퓨터에서 터미널을 열면 소스 코드를 가져오지만 .bashrcSSH를 통해 연결하면 소스 코드를 가져오는 것으로 나타났습니다 .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

관련 정보