Как установить $ PATH на Linux / Unix?


Answers

Я не могу поверить, что никто не упоминал файл /etc/environment . Единственная цель - хранить переменные среды. Первоначально здесь определяется переменная $ PATH. Это вставка из файла /etc/environment :

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Таким образом, вы можете просто открыть этот файл с правами root и добавить все, что захотите.

Для немедленных результатов запустите (попробуйте как обычный пользователь и root):

source /etc/environment && export PATH

ОБНОВИТЬ:

Если вы используете zsh (aka Z Shell), добавьте эту строку сразу после комментариев в /etc/zsh/zshenv :

source /etc/environment

Я столкнулся с этой маленькой причудой на Ubuntu 15.10, но если ваш zsh не получит правильную PATH , это может быть почему

Question

Я пытаюсь добавить каталог на свой путь, поэтому он всегда будет на моем пути к Linux. Я пробовал:

export PATH=$PATH:/path/to/dir

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

Как я могу сделать это, чтобы это было установлено постоянно?




Я думаю, что самый элегантный способ:

1.add this в файле ~. / Bashrc Запустите эту команду

gedit ~. / bashrc

добавьте свой путь внутрь

export PATH = $ PATH: / opt / node / bin

2.source ~ / .bashrc

(Ubuntu)




Вы также можете установить постоянное редактирование одного из этих файлов:

/etc/profile (для всех пользователей)

~/.bash_profile (для фактического пользователя)

~/.bash_login (для фактического пользователя)

~/.profile (для фактического пользователя)

Вы также можете использовать /etc/environment для установки постоянной переменной среды PATH, но она не поддерживает расширение переменной .

Извлечено из: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html




Вы можете использовать для Centos или RHEL для локального пользователя:

echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile

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

Если вы не хотите делать повторный вход в систему, то можете использовать:

source ~/.bash_profile

Это перезагрузка # User specific environment and startup programs этот комментарий присутствует в .bash_profile




Поместите export декларацию в ~/.bashrc . Мой .bashrc содержит следующее:

export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH



Zues77 имеет правильную идею. ОП не сказал «как я могу взломать свой путь через это». OP хотел знать, как постоянно добавлять $ PATH:

sudo nano /etc/profile

Здесь он установлен для всего и является лучшим местом для его изменения для всех вещей, требующих $ PATH




Я думаю, что самый элегантный способ:

1.add это в файле ~. / Bashrc

if [ -d "new-path" ]; then
  PATH=$PATH:new-path
fi

2.source ~ / .bashrc

(Ubuntu)




Я наткнулся на этот вопрос вчера, когда искал способ добавить папку, содержащую мои собственные скрипты, в PATH - и был удивлен, узнав, что мой собственный файл ~/.profile (в Linux Mint 18.1) уже содержал это:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Таким образом, все, что мне нужно было сделать, это создать папку ~/bin и поместить туда мои скрипты.




Его можно добавить непосредственно с помощью следующей команды:

echo 'export PATH = $ PATH: / new / directory' >> ~ / .zshrc source ~ / .zshrc




Постоянно добавлять переменную PATH

Глобальный:

echo "export PATH=$PATH:/new/path/variable" >> /etc/profile

Локальный (только для пользователя):

echo "export PATH=$PATH:/new/path/variable" >> ~/.profile

Для глобального перезапуска. Для местного релогина.

пример

До:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin

После:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

Кроме того, вы можете просто редактировать профиль:

$ cat /etc/profile 

#!/bin/sh

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable

Другой способ (спасибо gniourf_gniourf):

echo 'PATH=$PATH:/new/path/variable' >> /etc/profile

Здесь вы не должны использовать двойные кавычки! echo 'export PATH = $ PATH: / new / path / variable' ... И, кстати, ключевое слово export очень вероятно бесполезно, поскольку переменная PATH, скорее всего, уже отмечена как экспортированная. - gniourf_gniourf