如何在Mac下忽略环境变量?

时间:2011-02-24 01:28:34

标签: macos variables environment

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

2 个答案:

答案 0 :(得分:0)

是啊...查找loginhook并运行你的脚本,使其成为你的mac的loginhook ...这样当你的系统登录并且没有变量时,你的应用程序应该运行正常,因为没有变量。希望能帮助到你。这是一个知道如何将应用程序设置为loginhook [here]的链接。希望这可以帮助 http://hints.macworld.com/article.php?story=2006081701162739

答案 1 :(得分: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