У меня простая проблема с пониманием поведения в linux.Короче говоря, в Linux, если я вызываю свой сценарий sh из «Ярлыка на рабочем столе», сценарий не может видеть последние переменные среды (установленные в 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
- Теперь обновите файл .bashrc, чтобы задать переменную
export TESTVAR=test_this_variable
Откройте новый терминал и выполните сценарий, используя его полный путь, например '~ / testme.sh' // Это может увидеть значение переменной 'TESTVAR' из файла .bashrc.
Теперь просто дважды щелкните и запустите ярлык на рабочем столе.// Это должно открыть терминал и распечатать значение для 'TESTVAR' как пустое.// Итак, мой вопрос: кто является родителем для терминала, открытого этим ярлыком?
Я пробовал это на БРЗ.Я ищу решение или aw / a для этой проблемы, надеюсь, кто-то может помочь в ближайшее время.
Спасибо, Абхишек.