Intereting Posts
Используется ли межсетевой экран внутри сети между уровнем доступа к сети и уровнем Интернета? Отключение «Запомнить пароль» для команды GKSU Использование autofs для установки общего ресурса NFS Захват вывода / перенаправления команд, скопированных с помощью && Предоставление снимка экрана одного выбранного приложения в (докерном) контейнере Как преобразовать текстовое содержимое в буфер в список местоположений в vim? Замена нового символа линии на канал и новый символ строки Выберите пользовательский запрос zsh на основе того, какой эмулятор я использую Как я могу использовать Unix для переименования всех html-файлов по их названиям? Поддерживает ли Linux формат разделов ОС Mac? Пакет Linux системы и приложения в installable .iso? Kickstart? Как сохранить файл изображения в переменной bash? Не удается подключиться через ssh? Переключение между мониторами с двойным состоянием дисплея Asterisk: использование шаблонов расширений с файлами вызовов

Конфигурация 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 (любое программное обеспечение или подобное?)

Джордж

Значение 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