2011-02-24 96 views
0

希望有人能帮助我。我为python和一些其他库编写了一个安装shell脚本。所有软件包都安装在选定的文件夹中。例如“〜/ Desktop/inst”,而不是“/ usr/local”。问题是,如果设置了一些环境变量,那么他们可能会搞砸安装。是否有可能防止这种情况?也许忽略设置的环境变量。或者还有其他的窍门?如何在Mac下忽略环境变量?

+0

是不是点他们是环境的一部分的环境变量?如果你想让脚本的局部变量,为什么不从配置文件读取它们? – 2011-02-24 01:44:58

+0

但如果安装的MacPorts然后在IST的PATH = /选择/本地或可能的路径QTDIR设置或一些其他的路径设置。我不想使用或构建在机器上安装的任何东西。我只想安装和使用我的脚本中的软件包。当然,我可以安装一切到usr/local或者/ opt/local,但是我的安装shell脚本的目的不是触及系统。 – Oli 2011-02-24 08:49:34

回答

0

是啊...查找了loginhook并使其成为loginhook你的Mac上运行脚本...这样,当乌尔系统日志,不存在变数,因为没有变量您的应用程序应该运行正常。希望能帮助到你。这里是了解如何将应用程序设置为loginhook [这里]的链接。希望这有助于 http://hints.macworld.com/article.php?story=2006081701162739

0

你可以使用printenv,看看设置哪些变量和取消他们(除非你想要的那些/需要不停,像PATH):

for var in $(printenv | sed 's/=.*//'); do 
    case "$var" in 
     TERM|SHELL|TMPDIR|USER|PATH|PWD|HISTCONTROL|SHLVL|HOME|LOGNAME|DISPLAY) 
     : ;; # Leave these untouched 
     *) 
     unset "$var" ;; 
    esac 
done 
PATH=/usr/bin:/bin:/usr/sbin:/sbin # Override existing PATH with standard value