Конфигурация PATH не влияет

У меня есть вопрос относительно переменной PATH и способов ее настройки.

Вопрос связан с тем, что установка пакета программного обеспечения, с которым вы работаете, содержит сценарий bash, который отвечает за настройку PATH.

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

Я пробовал некоторые методы вроде:

PATH=$PATH:~/opt/bin # or PATH=~/opt/bin:$PATH # or export PATH=~/opt/bin:$PATH # or export PATH=$PATH:~/opt/bin # or export PATH=$PATH:/opt/bin # or PATH=$PATH:/opt/bin # and export PATH 

затем я запускаю:

 echo $PATH 

чтобы увидеть эффект, но ничего не изменилось.

Я делаю все это в разделе Linux mint.

Мой вопрос в том, есть ли что-нибудь еще, что мне нужно сделать, прежде чем пытаться изменить PATH, чтобы какие-либо изменения вступили в силу? Или просто так, что подход к проблеме неэффективен?

Есть ли другой способ добавить переменные в PATH (любое программное обеспечение или подобное?)

Джордж

2 Solutions collect form web for “Конфигурация PATH не влияет”

Значение PATH устанавливается первоначально в файле /etc/profile .

Он устанавливается как для «пользователя по умолчанию», так и для «root» (не редактируйте его).
Вы можете прочитать его, выполнив эту команду в терминале:

 cat /etc/profile 

Однако вы хотите изменить PATH по умолчанию только для своего пользователя (так что у других пользователей может быть другой PATH и, особенно, root пользователя).

В Mint (и это может быть разным для разных версий Mint) с рабочим столом Gnome (создайте или отредактируйте ~/.pam_environment следующим образом). Предполагая, что у вас есть текстовый редактор gedit :

 $ gedit ~/.pam_environment 

И добавьте (или измените) эту строку:

 PATH DEFAULT=${PATH}:/opt/bin 

записать файл, выйти из системы, снова войти в систему и новое значение PATH.

Этот ответ помог мне написать мой ответ.

Вы не можете изменить PATH (или любую другую переменную среды) для процесса оболочки, запустив скрипт.

Если скрипт изменяет (и exports ) PATH, изменения будут влиять только на среду внутри скрипта (и любой подпроцесс ), но не на родительский процесс.

Если вы хотите изменить PATH в своем рабочем сеансе оболочки, вам нужно изменить его непосредственно в этом сеансе, например, используя source сценария, а не запускать его.

 $ cat mypath.sh export PATH=/opt/foo/bin:$PATH $ echo $PATH /usr/bin $ ./mypath.sh $ echo $PATH /usr/bin $ . ./mypath.sh $ echo $PATH /opt/foo/bin:/usr/bin 
  • Установка файла tar.gz без цели установки
  • Изменение переменной PATH для процесса, выполняемого как пользователь в Linux
  • (G) VIM использует другую $ PATH, чем моя система
  • Ручная установка pdftk не может найти библиотеку libgcj
  • Launcher для программы Python, которая требует дополнительных библиотек
  • Как я могу принудительно использовать конкретный двоичный файл при запуске скрипта
  • Переменная среды $ PATH, по-видимому, не распознается
  • Удаление пути из LD_LIBRARY_PATH
  • Путь независимых shebangs
  • Crontab + Ruby on Rails: / usr / bin / env: ruby: нет такого файла или каталога
  • Когда я запускаю «sudo su», я получаю команду --bash: команда не найдена для всего
  • Interesting Posts

    Использовать вставку с основным вводом

    Исходный контроль и символическая ссылка для .zhistory

    Фильтрация файла журнала

    Как вводить данные в начале дочернего процесса stdin?

    Как создать каталог во всех подкаталогах?

    Как автоматически запустить TightVNC-сервер как root при запуске Ubuntu?

    Инструмент для удаления всех файлов без пакета в системе

    AWK объединяет переменную и регулярное выражение в соответствии с шаблоном

    Как перечислить все выходные в течение следующих 6 месяцев?

    Как создать дег из chroot?

    Могу ли я остановить mutt от запроса получателя при нажатии m, чтобы отправить новое письмо?

    Изменение разрешения экрана / геометрии vncserver без randr в Linux

    Что делает флаг STICKY_TIMEOUTS для личности (2)?

    Получение «нет такого файла или каталога», хотя файл явно присутствует

    Проверьте аргумент zsh-скрипта относительно шаблона в нескольких файлах и отслеживайте соответствующий шаблон для других задач.

    Linux и Unix - лучшая ОС в мире.