Переменная среды сохраняет предыдущие значения даже после установки в Ubuntu 20.04

#linux #bash #ubuntu

#linux #bash #ubuntu

Вопрос:

Я работаю на компьютере с Linux, установленном в Oracle VirtualBox. Сведения о среде приведены ниже:

  • Oracle VirtualBox: версия: 6.1
  • Версия операционной системы Ubuntu: 20.04

Я создал custom.sh файл внутри /etc/profile.d . Содержимое custom.sh это как показано ниже:

 export CUSTOM_VAR=value1
 

Затем я отправил команду: и проверил с помощью . source /etc/profile echo $CUSTOM_VAR
Все работает так, как должно.

После того, как я изменил custom.sh файл, изменив значение на переменную следующим образом: export CUSTOM_VAR=value2 и отправьте его. Он отлично работает в терминале.

У меня проблема в том, что каждый раз, когда я открываю новый терминал echo $CUSTOM_VAR , он выводит старое значение, а не новое.

Я запускаю приведенные ниже команды, чтобы проверить, объявлена ли переменная в другом месте:

  • sudo grep -r CUSTOM_VAR /etc/* Результат выглядит следующим образом:

    /etc/profile.d/custom.sh:export CUSTOM_VAR=value2

  • sudo grep -r CUSTOM_VAR ~/.* Результат похож на пустой.

Я буду признателен за любое руководство по решению этой проблемы.

С уважением,

Случайно.

Обновить…………………

Я проверил все файлы ниже :

  • /etc/environment
  • /etc/env.d/*
  • /etc/profile
  • /etc/profile.d/*
  • /etc/bashrc, /etc/bash.bashrc
  • /.bash_profile
  • /.bashrc
  • /.profile

Комментарии:

1. Как насчет .bashrc ? cd ~ amp;amp; vi .bashrc

2. После запуска исходной команды я получаю правильное значение. Это не опечатка.

3. Запустите новый сеанс X.

4. /etc/profile выполняется только оболочками входа.

5. Я перезапустил компьютер и, похоже, устранил проблему. Я думаю, вы можете быть правы в отношении /etc/profile выполняется только для входа в систему или с того места, где он начинается.