Конфигурация 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 
  • Переменная PATH сбрасывается после закрытия и повторного открытия сеанса SSH
  • найти глобальный путь установки композитора как root
  • Команда не найдена при запуске с sudo bash
  • Как управлять путями при выполнении строковой команды с использованием bash -c?
  • почему PATH не работает, когда я добавляю env в него и хочу запустить программу под env?
  • Как установить переменную пути без root acess?
  • Как найти файлы и действовать на них (найти + exec)
  • как установить переменную PATH crontab
  • OSX 'env python' возвращает другой интерпретатор, чем 'python'
  • Проблемы с CRON-контуром
  • $ HOME / bin dir не находится в $ PATH
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.