2011-05-26 29 views
6

我觀察到Xcode在運行腳本階段執行的自定義shell腳本沒有設置任何環境變量。他們有很多其他變量,但不包括PATH。爲什麼PATH不適用於從Xcode執行的自定義shell腳本?

有沒有可能解決這個問題,怎麼樣?我只想運行一個應該在路徑中的工具,我不想開始手動檢查可能的位置。

回答

1

您可能想要關注此主題: Setting environment variables in OS X? 我對environment.plist祝您好運。

+0

你是對的,考慮到Xcode是一個GUI應用程序,它可能會使用environment.plist,但仍然不能修改它,因爲我想將它包含在構建腳本中,這個腳本不應該要求環境修改。 – sorin 2011-05-26 17:34:45

9

你可以明確地獲取用戶.bashrc.profile等或者更好的是,運行像

PATH=$(bash -l -c 'echo $PATH') 

這不會冒險污染其他變量。

+0

這不適合我這裏在遙遠的一年2017. =( – cmyr 2017-08-27 22:31:43

3

Ivan Andrus的回答讓我想到了一種更清潔,更完整的方法:在一個新shell中完全運行腳本。例如:

bash -l -c "./configure --prefix=${DERIVED_FILE_DIR} && make && make install" 

我正在使用雙引號進行變量擴展。擴展你需要的任何變量是一個好主意,因爲任何現有的變量可能會被爲新環境創建的變量所覆蓋。

+1

如果你需要一個全新的環境,這裏有關於[這裏]選項的討論(http://superuser.com/questions/319043/runing- a-command-without-inheriting-parents-environment)。 – jgrandy 2012-08-22 14:29:16

+0

完美的解決方案,謝謝! – phatmann 2013-03-21 21:38:06

相關問題