问题将是使用sudo运行命令并进入根(sudo -i)并运行命令
运行这两个命令的区别究竟是什么。
作为根,我做了一个自定义env。可变
export A="abcdef"
然后在根shell
sudo -i
echo $A
回报
abcdef (as expected)
然而,当我回到正常用户和运行
sudo -i echo $A
返回空行。
所以当你运行sudo echo $ A命令时,它是否使用普通用户的环境变量和shell?
有没有办法让abcdef即使我运行sudo echo $ A?
感谢
编辑1
当你说你已经做出了变量A为根,我假设你的意思是你在根目录的.profile或类似的东西,这样做。 - >
EDIT 2
这是非常合情合理的 但遇到了一些麻烦(是的!)。
当我做
sudo -i 'echo $A'
我得到
-bash:回声$ A:没有找到命令。
然而,当我做
su -c 'echo $A'
它还给
abcdef
什么是错的
sudo -i 'echo $A'
命令?
先生,你不知道有多少你的评论已帮助可怜的老人! :P +10 – 2013-12-11 12:59:53