【发布时间】:2012-07-29 14:45:44
【问题描述】:
问题是
运行这两个命令有什么区别。
作为根,我制作了一个自定义环境。变量
export A="abcdef"
然后在root shell中
sudo -i
echo $A
返回
abcdef (as expected)
但是,当我回到普通用户并运行时
sudo -i echo $A
它返回空行。
那么当你运行命令 sudo echo $A 时,它是否使用普通用户的环境变量和 shell?
即使我运行 sudo echo $A 也有办法获取 abcdef 吗?
谢谢
编辑 1
当您说您已将变量 A 作为 root 时,我假设您的意思是您在 root 的 .profile 或类似的东西中执行了此操作。 -->(是的!)
编辑 2
这很有意义 但遇到了一些麻烦。
当我这样做时
sudo -i 'echo $A'
我明白了
-bash: echo $A: 找不到命令。
但是当我这样做时
su -c 'echo $A'
它会回馈
abcdef
有什么问题
sudo -i 'echo $A'
命令?
【问题讨论】: