2015-04-29 48 views
1

我在〜/ .bashrc中設置了許多使用'export'設置的環境變量。我的.profile源文件與我的.bashrc一起使用源自.profile的源碼.bashrc不起作用

source /home/doriad/.bashrc 

但是,QtCreator似乎並不瞭解這些環境變量。相反,如果我將輸出直接放在.profile中,QtCreator可以正確地輸出它們。任何建議我在做什麼錯在這裏?

+0

試試這個:在'.profile'的末尾,放上這一行:'env | sort> /tmp/profile-env.txt',並在'.bashrc'結尾放置'env | sort>/tmp/bashrc-env.txt'。打開一個新的終端,並檢查或比較創建的文件。也許用'diff'或'vimdiff'命令。 – tivn

+0

@tivn這是一個很好的方式來確認我是正確的,從.bashrc的出口沒有從.profile進入環境。這裏是輸入和輸出文件(bashrc很長,但是這是股票Kubuntu .bashrc與我的4出口在底部):https://gist.github.com/daviddoria/e86dcf8406c687aa6285你會看到環境看起來沒有什麼相似的! –

回答

0

感謝您提供.profile和.bashrc。 最有可能的就是你.bashrc找到了癥結:

# If not running interactively, don't do anything 
case $- in 
    *i*) ;; 
     *) return;; 
esac 

在非交互模式下,您.bashrc只返回,跳過下面的任何出口。

+0

哇,多麼愚蠢 - 它沒有那樣的魅力。這看起來像一個常見的模式 - 我不知道爲什麼會在默認的.bashrc中。感謝您指出! –

+0

文件'〜/ .bashrc'用於交互式shell(如別名設置,命令歷史記錄等),因此最好將它留在那裏。推薦設置個人環境變量的方法是將其放在'〜/ .bash_profile'中。見'男子bash'和http://stackoverflow.com/questions/902946/about-bash-profile-bashrc-and-where-should-alias-be-written-in/903213#903213 – tivn