如何在 bashrc 中使用 debian_chroot 来识别 chroot 环境?

如何在 bashrc 中使用 debian_chroot 来识别 chroot 环境?

我在 中看到以下内容~/.bashrc

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

这意味着如果未设置该变量,并且文件存在且可读,则将文件的内容设置为该变量。

我应该在准备 chroot 时向该文件写入一些内容吗?
如果是,那么我必须在 chroot 作业结束时删除该文件!

任何解释或建议将不胜感激。

答案1

该变量仅用于构建默认的 PS1 shell 提示符如下:

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)。

相关内容