Linuxでの動作を理解するのは簡単な問題です。要するに、linux上で私が 'Desktop Shortcut'からshスクリプトを呼び出すと、スクリプトは最新の環境変数(bashrcで設定)を見ることができません。だから私はこのシェルスクリプトがどの範囲にあるのだろうかと思っていたのですか?デスクトップショートカットからシェルスクリプトを呼び出したときに.bashrcが読み込まれない
は、簡単なシェルスクリプト '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
- 変数
export TESTVAR=test_this_variable
オープン真新しいターミナルと、それは「〜/ testme.sh」のような完全なパスです使用してスクリプトを実行を設定するには、あなたの.bashrcファイルを更新//これは.bashrcファイルから変数 'TESTVAR'の値を見ることができます。
デスクトップのショートカットをダブルクリックして実行するだけです。 //端末を開き、 'TESTVAR'の値を空白として出力する必要があります。 //私の質問は、このショートカットによって開かれた端末の親は誰ですか?
これをRHLで試しました。 私はこの問題の解決法またはw/aを探しています。誰かがすぐに助けてくれることを願っています。
ありがとう、 Abhishek。