Como verificar a variável de ambiente raiz do usuário sudo?

2

Como posso verificar as variáveis de ambiente raiz do usuário sudo? Eu tentei várias chaves e combinações de su e sudo, mas não tenho sorte.

Por exemplo, $ HISTFILESIZE = 2000 para usuário comum e 9999 para usuário root.

vagrant@default-debian-78-64-nocm:~$ echo $HISTFILESIZE
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i
root@default-debian-78-64-nocm:~# echo $HISTFILESIZE
9999

Mas quando tento obter root $ HISTFILESIZE via sudo - sempre me retorna um 2000:

vagrant@default-debian-78-64-nocm:~$ sudo -i echo $HISTFILESIZE
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i su - -c "echo $HISTFILESIZE"
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i bash -c "echo $HISTFILESIZE"
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i bash -l -c "echo $HISTFILESIZE"
2000
    
por strangeman 11.09.2015 / 04:39

1 resposta

4

Seu shell expandirá a variável antes mesmo de atingir sudo . Em vez de

sudo -i echo $HISTFILESIZE

e todas as variações, você precisa escapar com um \ como abaixo:

sudo -i bash -c "echo \${HISTFILESIZE}"

Mais uma edição: precisa colocar a variável entre colchetes, ela pode conter espaços

    
por 11.09.2015 / 05:05