2011-02-24 92 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