su - on Arch를 통해 로그인할 때 .bash_profile의 exec env -i /bin/bash가 백그라운드로 이동하여 종료되는 이유는 무엇입니까?

su - on Arch를 통해 로그인할 때 .bash_profile의 exec env -i /bin/bash가 백그라운드로 이동하여 종료되는 이유는 무엇입니까?

나는 LFS 책을 따르고 있으며 아치(bash 5)에서 다음 .bash_profile을 사용하여 깨끗한 쉘을 얻으려고 노력하고 있습니다.

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

일반적으로 다음을 통해 로그인이 허용됩니다.

su - lfs

그러나 어떤 이유로 쉘이 즉시 종료되고 다음과 같은 결과가 나타납니다.

[1]+  Stopped                 su - lfs

다음을 사용하여 세션에 들어갈 수 있습니다.

fg

그런데 두 번이나 그만둬야 했어요. exec 및 env 문서는 LFS에서 제공하는 명령과 일치하는 것으로 보입니다. 이는 3개의 변수(HOME, TERM 및 PS1)를 포함하는 bash 환경만 생성해야 한다는 것입니다. bash를 로그인할 수 있는 보다 깨끗한 버전으로 어떻게 교체할 수 있나요?

답변1

Arch Linux에서 제공하는 bash가 사용됩니다 -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'(해당 내용 참조).PKG 빌드파일), 이는 제공된 /etc/bash.bashrc.

이 섹션 끝에 추가된 경고에 설명된 대로4.4 "환경 설정"이 파일은 lfs 사용자 환경에 영향을 미칠 수 있습니다.

/etc/bash.bashrc일부 상용 배포판에서는 초기화 시 문서화되지 않은 인스턴스화를 추가합니다. bash. 이 파일은 수정될 수 있습니다.자유도사용자 환경의 행동 방식은 중요한 LFS 패키지 구성에 영향을 미칠 수 있습니다. 확인하십시오자유도사용자의 환경이 깨끗한지, 존재하는지 확인하고 /etc/bash.bashrc, 존재한다면 멀리 옮기십시오.

이것이 귀하의 특정 문제의 원인인지 확실하지 않습니다. 내 Arch Linux 시스템에서 해당 문제를 재현할 수는 없지만 업데이트된 LFS 지침에 제안된 대로 파일을 다른 곳으로 옮기면 문제가 해결될 수 있습니다.

관련 정보