Linuxでの動作を理解するのに簡単な問題があります。つまり、Linux で「デスクトップ ショートカット」から sh スクリプトを呼び出すと、スクリプトは最新の環境変数 (bashrc で設定) を認識できません。だから私は、このシェルスクリプトがどの範囲にあるのか疑問に思っていましたか?
テストケースを作成して再現するには:
簡単なシェル スクリプト 'testme.sh' を作成します。
!/ビン/sh echo "こんにちは、これは環境変数をチェックするテスト スクリプトです"; echo "TESTVAR = $TESTVAR"; 読み込んだ echo "完了";
上記のスクリプトのデスクトップ ショートカットを作成します。
cd ~/デスクトップ vi mytest-desktop.desktop // mytest-desktop.desktop の内容は次のとおりです。 【デスクトップエントリー】 バージョン=1.0 タイプ=アプリケーション 名前=テストアビシェーク Exec=/home/abhishek/test/hello.sh ターミナル=真
- .bashrc ファイルを更新して、変数を設定します。
エクスポート TESTVAR=test_this_variable
新しいターミナルを開き、'~/testme.sh' のような完全なパスを使用してスクリプトを実行します。 //これにより、.bashrc ファイルから変数 'TESTVAR' の値を確認できます。
次に、デスクトップのショートカットをダブルクリックして実行します。//これにより、ターミナルが開き、'TESTVAR' の値が空白として出力されます。//私の質問は、このショートカットによって開かれた端末の親は誰ですか?
私はRHLでこれを試しました。この問題の解決策または w/a を探しています。誰かがすぐに助けてくれることを願っています。
ありがとう、アビシェーク。