如何使sudo -E
真正保护环境。假设我有一个
pre-down python /usr/local/myscripts/pre_down.py
在my/etc/network/interfaces with
/usr/local/myscripts/pre中_向下.py`你知道吗
import a
和/home/user/scripts/a.py
print 'a'
而/home/user/scripts/__init__.py
现在,为什么sudo PYTHONPATH=/home/user/scripts ifdown eth1
会引起
Traceback (most recent call last):
File "/usr/local/myscripts/pre_down.py", line 1, in <module>
import a
ImportError: No module named a
什么?我知道用sh脚本作为包装器可以解决这个问题(用内容PYTHONPATH=/home/user/scripts /usr/local/myscripts/pre_down.py
尝试并成功),还可以在import语句之前操作sys.path
。我问是为了学习:)
interfaces
的man-page表示:所以这些脚本似乎没有继承命令
ifup
或ifdown
的环境相关问题 更多 >
编程相关推荐