Debian 상자를 stable에서 Jessie로 업그레이드했는데 SHELL이 더 이상 내보내지지 않는다는 것을 알았기 때문에 screen 및 유사한 프로그램이 bash 대신 하위 쉘을 실행하기 시작했습니다.
이러한 변경은 언제 이루어졌으며 그 이유는 무엇입니까?
답변1
아주 아주 오래전에:
이 문서에서는 bash-2.05a-rc1 버전과 bash-2.05a-beta1 이전 버전 간의 변경 사항을 자세히 설명합니다.
- Bash 변경 사항
…
w. Bash는 더 이상 HOME, PATH, SHELL 또는 TERM을 자동으로 내보내지 않지만 초기 환경에 없는 경우 기본값을 제공합니다.
SHELL
이유가 무엇인지는 모르겠지만 말이 됩니다. 설정되어 있지 않으면 조악한 프로세스를 설정하기 위해 bash 스크립트를 실행할 이유가 없습니다. Bash는 PWD
(이점에 상관없이 그래야 하는 대로), OLDPWD
(동반자 PWD
) 및 SHLVL
(항상 셸에서 설정해야 함) 만 내보냅니다 .
이것이 일반적으로 로그인 쉘에 설정되는 이유는 SHELL
로그인 프로그램( 등)에 의해 환경에 설정되기 때문입니다. 제시는 이래야 한다. 일부 로그인 방법이 설정되지 않은 경우 로그인 방법에 버그가 있을 수 있습니다.login
sshd
SHELL