Bash

如何在 bashrc 中使用 debian_chroot 來辨識 chroot 環境?

  • March 1, 2018

我看到以下內容~/.bashrc

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

這意味著如果未設置變數,並且文件存在並且可讀,則將文件的內容設置為變數。

我應該在準備 chroot 時向該文件寫入一些內容嗎?

如果是,那麼我必須在 chroot 作業結束時刪除該文件!

任何解釋或建議將不勝感激。

此變數僅用於在下面建構預設的 PS1 shell 提示:

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

因此,創建文件不是必需的,儘管提示辨識您所在的位置可能會很好。

正如你所看到的 -r 測試一個文件,如果使用者可以讀取它,如果它存在,debian_chroot 會獲取它的內容,所以在 chroot 中創建/etc/debian_chroot 想要的措辭。(在裡面,不要在真正的根目錄下做,因為不會在 chroot 裡面)

因此,如果您的 chroot 位於/mnt,則您需要修改的文件是/mnt/etc/debian_chroot(而不是/etc/debian_chroot)。

引用自:https://unix.stackexchange.com/questions/248118