Como passar uma variável de ambiente ao mudar o enraizamento?

0

Eu não consigo passar uma variável de ambiente para um chroot:

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

$
    
por tarabyte 19.08.2015 / 02:43

4 respostas

3

Use aspas simples:

$ sudo chroot mychroot /bin/bash -c 'MY_VAR=5; echo ${MY_VAR}'
    
por 19.08.2015 / 02:49
2

Use a resposta do yaegashi ou escape do $ like

$ sudo chroot mychroot /bin/bash -c "MY_VAR=5; echo \${MY_VAR}"
    
por 19.08.2015 / 02:55
1
$ XYZ=abc sudo -E chroot rootfs/ qemu-aarch64-static /bin/sh -c 'echo $XYZ' abc
    
por 30.05.2018 / 03:58
0

Eu estava procurando uma maneira de passar uma variável de ambiente para as chamadas chroot de um debootstrap e percebi que o seguinte também funciona:

$ sudo MY_VAR=5 chroot mychroot env | grep MY_VAR
MY_VAR=5
    
por 12.04.2018 / 10:29