我如何可以从sudo用户检查根环境variables? 我尝试了su和sudo的各种键和组合,但没有运气。
例如,普通用户的$ HISTFILESIZE = 2000和root用户的9999。
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
但是当我尝试通过sudo获得root $ HISTFILESIZE时,它总是返回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
在shell达到sudo之前,你的shell将会扩展这个variables。 代替
sudo -i echo $HISTFILESIZE
和所有的变化,你需要用\来逃避它如下:
sudo -i bash -c "echo \${HISTFILESIZE}"
多一个编辑:需要括号variables,它可能包含空格