2011-03-14 54 views
12

好吧,我知道有一個bash調試器。但是我正在尋找的是,如果我的啓動腳本中有一個環境變量,並且我不知道它是如何設置的,或者它可能位於何處,是否有找到它的方法,而不是徹底搜索腳本?找出一個環境變量是在bash最後一組

我的意思是有一個機制/工具,它提供了這樣的事情? bash是否跟蹤變量設置位置?

雖然這可能看起來不是很重要,但是當我幫朋友安裝OpenCL時,它碰到了我的想法,並且該軟件包自動設置變量$ATISTREAMSDKROOT。無論如何,該軟件包應該添加一個文件到/etc/profile.d允許設置變量,但它沒有。幸運的是變量空白了。

但是,如果還沒有出來空白,且包其添加到一些隨機的文件我想知道,我會很可能不告訴它在哪裏不是找它的其他方式。

我當然知道一個可以寫一個sed命令或兩個,並通過腳本搜索,但我認爲窮盡搜索:d

回答

23

一個選項將啓動慶典的有一個實例:

bash -x 

...,尋找其中的變量在輸出設置。要將輸出重定向到文件,您可以這樣做:

bash -x -ls -c "exit" 2> shell-startup-output 

您應該在輸出中看到每個文件的來源。

+0

正是我想要的,謝謝! – omarzouk 2011-03-14 22:16:04