.bash_profile 파일 (및 .profile 파일도)은 로그인 쉘에 대해로드되며, 비 로그인 쉘은 .bashrc (_ 기호 없음)를 사용합니다. .screenrc 파일에는 화면 창을 시작할 때 (창 응용 프로그램으로 특정 프로그램을 시작하지 않을 때) 어떤 쉘을 생성해야하는지 알려주는 행이 있습니다. 내 .screenrc 파일에서 이것은 다음과 같습니다 (댓글 포함).
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
.screenrc 파일을 확인하고 쉘 행 앞에 대시가 있는지 확인하십시오. 대시 기호를 사용하고 로그인 쉘을 강제 실행하면 .bash_profile이 소스로 제공됩니다. 내 .screenrc의 $ SHELL 변수는 화면을 시작하는 쉘에서 제공하는 쉘 값을 사용합니다 (일반적으로 bash입니다).
궁금한 점이 있다면 로그인과 비 로그인 쉘 사이에서 발견 할 수 있었던 가장 큰 차이점은 일반적으로 비 로그인 쉘이 스크립트 실행을 위해 호출되는 것입니다.