更改root权限时如何传递环境变量?

更改root权限时如何传递环境变量?

我似乎无法将环境变量传递给 chroot:

$ sudo apt-get install debootstrap dchroot
$ sudo debootstrap trusty mychroot
$ sudo chroot mychroot /bin/bash -c "MY_VAR=5; echo ${MY_VAR}"

$

答案1

使用单引号:

$ sudo chroot mychroot /bin/bash -c 'MY_VAR=5; echo ${MY_VAR}'

答案2

使用 yaegashi 的答案,或者逃避$之类的

$ sudo chroot mychroot /bin/bash -c "MY_VAR=5; echo \${MY_VAR}"

答案3

$ XYZ=abc sudo -E chroot rootfs/ qemu-aarch64-static /bin/sh -c 'echo $XYZ' abc

答案4

我正在寻找一种将环境变量传递给 debootstrap 的 chroot 调用的方法,并注意到以下方法也有效:

$ sudo MY_VAR=5 chroot mychroot env | grep MY_VAR
MY_VAR=5

相关内容