为什么我会被踢出 chroot?

为什么我会被踢出 chroot?

我输入 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 "$@"

答案1

set -e意味着如果任何命令以非零状态退出,shell 应立即退出(除非在某些显式测试退出状态的上下文中,例如 or 的条件ifwhile

main()如果您希望该选项仅在运行时有效,您可以执行以下操作:

set -e
main "$@"
set +e

相关内容