Как игнорировать переменные среды под Mac? - PullRequest
0 голосов
/ 24 февраля 2011

надеюсь, кто-нибудь может мне помочь.Я написал сценарий оболочки установки для Python и некоторых других библиотек.Все пакеты установлены в выбранной папке.Например, «~ / Desktop / inst», а не «/ usr / local».Проблема, если установлены некоторые переменные окружения, то они могут испортить установку.Можно ли как-то предотвратить это?Может быть, игнорировать установленные переменные среды.Или есть еще один трюк?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2011

Вы можете использовать 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
0 голосов
/ 24 февраля 2011

да ... ищите loginhook и запустите ваш скрипт, сделав его loginhook для вашего mac ... таким образом, когда ваша система входит в систему и не существует переменных, ваше приложение должно работать нормально, так как переменных нет. Надеюсь, поможет. вот ссылка, чтобы узнать, как установить приложение в качестве loginhook [здесь]. надеюсь это поможет http://hints.macworld.com/article.php?story=2006081701162739

...