Нужно объяснение этой скриптовой команды
Что делает команда export PATH=$PATH:~/bin
достичь?
Я хотел бы понять это больше, чем я уже знаю; Пожалуйста помогите!
3 ответа
PATH
переменная окружения, которая определяет каталоги для поиска (по порядку слева направо) для поиска исполняемых файлов. Когда вы вызываете что-то вроде gzip
, $PATH
переменная окружения делится на :
и каждый из этих путей ищется, чтобы увидеть, если он содержит gzip
,
Обычно к этой переменной добавляется каталог, чтобы искать его до существующего (по умолчанию) местоположения. Обычно это делается, когда вы хотите добавить нестандартный каталог в PATH, чтобы вы могли устанавливать приложения в подкаталоги.
export PATH=$PATH:~/bin
Это добавляет ~/bin
(то есть "$HOME/bin") в PATH, чтобы вы могли выполнять сценарии / двоичные файлы из папки "bin" в вашем домашнем каталоге.
Вы можете определить, какая команда будет выполнена из вашего PATH, используя which
команда. Например:
-bash$ which gzip
/usr/bin/gzip
Вы также можете бросить export
ключевое слово, но при этом измененная переменная PATH не будет видна сценариям, вызываемым из вашей оболочки bash.
Посмотрите на вывод echo $PATH
или же env | grep PATH
чтобы увидеть, как выглядит эта переменная.
export PATH=$PATH:~/bin
добавит ~/bin
к вашему нынешнему $PATH
в вашей текущей оболочке.
Если вы поместите его в один из файлов инициализации вашей оболочки, например, ~/.bashrc
за bash
Вы можете добавить ~/bin
на ваш $PATH
постоянно.
Изменяет текущую настройку PATH
переменная окружения и (ре) экспортирует ее.
Изменение добавить ~/bin
к PATH
так что, в крайнем случае, это будет выглядеть в bin
каталог под вашим домашним каталогом (указывается $HOME
, который обычно, но не обязательно совпадает с вашим каталогом для входа, указанным в базе данных паролей и идентифицированным ~username
) для команды. Это означает, что есть дополнительное место для поиска команд.
Лично я поставил свой bin
каталог в передней части моего PATH
; мои команды отменяют команды других людей.