ルート権限を変更するときに環境変数を渡す方法は?

ルート権限を変更するときに環境変数を渡す方法は?

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

関連情報