Вопрос Как добавить каталог в PATH? [Дубликат]


Возможный дубликат:
Как добавить каталог на мой путь? 

Я создал .bash_aliases файл со следующим содержимым:

PATH=$PATH:$HOME/opt/bin

Поэтому он добавляет /home/myuser/opt/bin в $PATH, Я сделал это, потому что у меня нет доступа root к этой машине.

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

Я попытался поставить shopt -s expand_aliases в моем .bash_aliases, но безуспешно.

Как установить PATH для сред, отличных от BASH?


4
2017-12-31 08:37


происхождения




ответы:


Если вы используете приложения за пределами командной строки оболочки, будет всегда запускайте свой UID, вы можете создать сессияпеременные окружения, добавив их к ~/.pam_environment, скорее, чем .bash_aliases,

Если вы используете приложения за пределами командной строки оболочки, не всегда работать с вашим UID, системапеременные окружения, добавив их к /etc/environment, скорее, чем .bash_aliases,

Однако: Создание системапеременные окружения ВСЕ пользователей, включая root. Если переменная, которую вы установили, перезаписывает другую, Плохо все будет. Добавление чего-то на конец PATH не казаться например, это приведет к хаосу, но, увидев, что у вас нет корня, вам понадобится ваш системный администратор, чтобы сделать это за вас, и он / она, возможно, вам посоветует, можно ли его добавить. Действительно ли он / она на самом деле позволяет вам делать это совсем другое; все, что связано с пользователем, лучше всего хранить в файлах конфигурации в их домашней папке, и обычно это не делается, чтобы иметь конфигурацию пользователей, влияющую на всю систему!


2
2017-12-31 12:44



Спасибо за твой ответ. Я добавляю следующее к своей ~ / .pam_environment: "PATH DEFAULT = $ {PATH}: ~ / opt / bin" И я меняю строку 50 в /etc/pam.d/login, чтобы избежать дублирования моего env следующим образом: " требуется сессия pam_env.so readenv = 1 user_readenv = 0 " - ayr-ton


Переменная среды PATH не принадлежит ~ / .bash_aliases; Лучшее место - ~ / .profile или ~ / .pam_environment в последнее время. Если вы поместите свой путь в файл ~ / .profile, он будет доступен для X и менеджеров окон, которые используют X. Edit ~ / .profile. Добавить в конец этого файла:

PATH="$PATH:$HOME/opt/bin"

Может быть, вы используете Xubuntu? Возможно, вам придется использовать ~ / .bashrc. И ~ / .pam_environment:

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

Видеть help.ubuntu.com по переменным среды.

Что входит в ~ / .bash_aliases, это псевдонимы команд, например:

alias l=ls
alias ll=ls -l
alias la=la -la
alias x=exit
alias b=my-insanely-long-command-i-never-want-to-type-again

1
2018-01-01 02:55