我在理解Linux中的行爲時遇到了一個簡單問題。總之,在Linux上,如果我從'桌面快捷方式'調用我的sh腳本,那麼腳本無法看到最新的環境變量(在bashrc中設置)。所以我想知道這個shell腳本在哪個範圍內?.bashrc在從桌面快捷方式調用shell腳本時未讀取
要創建測試用例和複製:
創建一個簡單的shell腳本 'testme.sh':
!/bin/sh echo "Hi This is a test script checking the env var"; echo "TESTVAR = $TESTVAR"; read in echo "Done";
,爲上述腳本的桌面快捷方式。
cd ~/Desktop vi mytest-desktop.desktop //Contents for mytest-desktop.desktop are : [Desktop Entry] Version=1.0 Type=Application Name=TestAbhishek Exec=/home/abhishek/test/hello.sh Terminal=true
- 現在更新您的.bashrc文件中設置變量
export TESTVAR=test_this_variable
打開一個全新的終端,並使用它就像「〜/ testme.sh」完整路徑執行腳本//這可以從.bashrc文件中看到變量'TESTVAR'的值。
現在,只需雙擊並執行桌面快捷方式。 //這將打開一個終端並將'TESTVAR'的值打印爲空白。 //所以我的問題是,誰是由這個快捷方式打開的終端的父母?
我在RHL上試過這個。 我正在尋找解決方案或w/a爲這個問題,希望有人可以儘快幫助。
謝謝, Abhishek。