我安装了sudo
的macports版本。一切都很好,除了一件事。使用python 2.6将~
扩展到用户的主目录会产生与Snow Leopard附带的sudo
版本不同的输出。
例如,请考虑以下python代码:
#expand_home_dir.py
import os
os.path.expanduser('~')
以下是上面列出的3个不同的代码调用。使用sudo的第一个调用是使用Macports版本,因为我的$PATH
以/opt/local/bin
开头:
robert$ python2.6 expand_home_dir.py
/Users/robert
robert$ sudo python2.6 expand_home_dir.py
/var/root
robert$ /usr/bin/sudo python2.6 expand_home_dir.py
/Users/robert
知道为什么会这样吗?
答案 0 :(得分:2)
HOME环境变量控制〜扩展到的内容。听起来你的MacPorts安装版本的sudo正在将HOME重置为root用户的主目录,而系统安装的版本则没有。如果您输入sudo sh -c 'echo $HOME'
会怎样?