Chroot

為什麼我會被踢出我的 chroot?

  • September 17, 2015

我輸入一個 chroot,獲取一個腳本來初始化我的 git 使用者(source init_my_chroot),然後似乎對被踢出我的 chroot 過於敏感。

install: cannot create regular file ‘/path/to/testfile’: No such file or directory
make: *** [my-rule] Error 1
me@vm:~$ 

有什麼東西在召喚exit嗎?

init_my_chroot:

set -e

main() {
 mount -t proc proc /proc || true
 mount -t devpts none /dev/pts || true
 git config alias.lg "log --oneline --decorate --all --graph"
 eval $(ssh-agent -s) && ssh-add /root/.ssh/id_rsa
}

main "$@"

set -e表示如果任何命令以非零狀態退出,則 shell 應立即退出(在某些明確測試退出狀態的上下文中除外,例如ifor的條件while)。

如果您希望該選項僅在main()執行時生效,您可以執行以下操作:

set -e
main "$@"
set +e

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