chroot 환경을 식별하기 위해 bashrc에서 debian_chroot를 사용하는 방법은 무엇입니까?

chroot 환경을 식별하기 위해 bashrc에서 debian_chroot를 사용하는 방법은 무엇입니까?

다음 내용이 표시됩니다 ~/.bashrc.

 if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
     debian_chroot=$(cat /etc/debian_chroot)
 fi

이는 변수가 설정되지 않았고 파일이 존재하고 읽을 수 있는 경우 파일의 내용이 변수로 설정됨을 의미합니다.

chroot를 준비하기 위해 이 파일에 뭔가를 써야 합니까?
그렇다면 chroot 작업이 끝나면 파일을 삭제해야 합니다!

어떤 설명이나 조언이라도 대단히 감사하겠습니다.

답변1

이 변수는 기본 PS1 셸을 빌드하는 데에만 사용됩니다. 프롬프트는 다음과 같습니다.

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

따라서 현재 위치를 확인하는 것이 좋을 수도 있지만 파일을 생성할 필요는 없습니다.

보시다시피 -r은 파일을 테스트하여 사용자가 파일을 읽을 수 있는지 여부를 확인합니다. 파일이 있으면 debian_chroot는 해당 내용을 가져옵니다./etc/debian_chroot ~에chroot에는 원하는 문구가 포함되어 있습니다. (내부적으로 chroot 내부에 있지 않으므로 실제 루트에서는 이 작업을 수행하지 마십시오)

따라서 chroot가 에 있는 경우 /mnt수정해야 할 파일은 /mnt/etc/debian_chroot(가 아님 /etc/debian_chroot) 입니다.

관련 정보