Mac Gnu-Screen은 기본 .bash_profile을로드하지 않습니다


15

내 bash_profile에 많은 사용자 정의 설정이 있습니다. gnu-screen을 사용할 때 화면이 실행되지 않는다는 것을 깨달았습니다 source /Users/disappearedng/.bash_profile. 소스 /Users/disappearedng/.bash_profile을 .screenrc 파일에 넣으려고 시도하지만 별칭이 명령이 아니라고 불평합니다 (screenrc에 screenrc 특정 명령이 필요하다고 생각합니다).

.bash_profile을 .profile 또는 .bash_rc로 변경하려고했습니다. 그 일 중 아무도 없습니다.

어떤 도움?

답변:


17

.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입니다).

궁금한 점이 있다면 로그인과 비 로그인 쉘 사이에서 발견 할 수 있었던 가장 큰 차이점은 일반적으로 비 로그인 쉘이 스크립트 실행을 위해 호출되는 것입니다.


아 고마워! 또한이 현재 창이 gnu 화면 안에 있음을 쉽게 알 수있는 방법이 있습니까?
disappearedng

.screenrc 파일의 hardstatus 옵션을 사용하면 화면에 있음을 식별 할 수 있습니다 (다른 멋진 설정과 함께도 이해합니다). 화면 맨 페이지에는 구성 방법에 대한 세부 정보가 있어야합니다 (내 머리 꼭대기에있는 것을 모릅니다).
Matrix Mole

3

소싱 .bash_profile은 실제로 대부분의 터미널 앱이하지 않는 Mac 터미널 앱과 다른 점입니다. ~/.bashrc그러나 새로운 쉘을 생성 할 때마다 화면이 읽 힙니다 .

이름을 바꿀 경우 ~/.bash_profile합니다 ~/.bashrc(bash에와 RC 사이에 밑줄과 함께, 귀하의 질문에로), 다음이 공급됩니다.

그러나 내가 선호하는 전략은 모든 설정을에 넣고 bashrc다음과 같이 소스를 만드는 것입니다 bash_profile.

[ -f .bashrc ] && . .bashrc

-1

.bash_profile일반적으로 터미널을 설정하는 것처럼 모든 설정을에 쓰는 경우 구성 파일을 변경할 필요가 없으며 .bashrc다음 .bash_profile을 통해 화면 세션을 가리키는 링크를 작성 하십시오 .

$ ln -s ~/.bash_profile ~/.bashrc

파일 중 하나에 대한 모든 변경 사항은에 저장 .bash_profile되지만에 의해 액세스 할 수도 있습니다 .bashrc.

유일한 단점은 구성 파일 중 하나에 만 설정을 추가 할 수 없다는 것입니다.


이 답변을 약간 확장 할 수 있습니까? 이것이 어떻게 문제를 해결하는지 설명하지 않았습니다.
bwDraco

-1

Linux 로그인 쉘은 사용자 파일의 경우 다음 행을 추가하여 비 로그인 로그인을 소싱합니다.

[[ -f ~/.bashrc ]] && . ~/.bashrc

이 솔루션은 이미 게시되었습니다.
slhck

또한 거꾸로 나타납니다.
G-Man, 'Reinstate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.