Я пытаюсь установить что-то, и среди шагов был этот:
"Поместите это на свой $PATH
"
Что это значит? Что это?
Я искал и этот сайт, и в Google, но все считают это само собой разумеющимся!
Я пытаюсь установить что-то, и среди шагов был этот:
"Поместите это на свой $PATH
"
Что это значит? Что это?
Я искал и этот сайт, и в Google, но все считают это само собой разумеющимся!
Ответы:
Запустите в терминале:
echo $PATH
или
printf "%s\n" "$PATH"
то, что вы видите, представляет собой список каталогов, выглядящий так:
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Если вы поместите исполняемый файл в один из этих каталогов, вам не нужно указывать путь к исполняемому файлу / скрипту, но вы можете запустить его по имени в качестве команды.
Исполняемые файлы в in $PATH
не должны иметь языкового расширения по соглашению (хотя они будут работать)
Вы можете (навсегда) добавить каталог $PATH
, добавив в ~/.profile
файл следующую строку (по умолчанию она невидима, нажмите Ctrl+ Hв диспетчере файлов, чтобы сделать ее видимой):
export PATH=$PATH:/path/to/dir
(например, $PATH
) можно найти здесь (спасибо за предложения @Letizia)
$PATH
является связанной местоположение файла переменной среды .
Когда вы вводите команду для запуска, система ищет ее в каталогах, указанных PATH
в указанном порядке.
Вы можете просмотреть каталоги, указанные, набрав echo $PATH
в терминале.
Предположим , есть исполняемый файл foobar01.sh
присутствует в /home/user/foo1/foo2/foobar01.sh
который вы хотите выполнить на регулярной основе. ввод всего «пути» занял бы много времени. Таким образом, мы добавляем каталог в $PATH
переменную и можем выполнять foobar.sh
напрямую, даже не указывая путь.
Вы можете добавить его $PATH
, введя следующую команду
export PATH=$PATH:/home/user/foo1/foo2
Я предполагаю, что вы пришли из фона Windows (извините, если это не так). В терминах непрофессионала, путь (или путь поиска) - это список каталогов, в которых будет выполняться поиск всего, что вы вводите в командной строке. Если вы введете встроенную команду, такую как ls, она будет искать указанный список каталогов. Вы можете найти свой путь, набрав echo $ PATH. Вот одно отличие между Windows и * nix: по умолчанию Windows всегда ищет исполняемый файл в текущем каталоге. Например, если у вас есть файл с именем uptime.bat в c: \ myscripts, и вы cd c: \ myscripts и введите uptime, он запустится. Однако в * nix будет использован путь и найден исполняемый файл (если имеется).
Если вы храните свои скрипты в каталоге / home / teresa / scripts, чтобы выполнить эти скрипты, вам нужно будет указать полный путь к этому каталогу. Пример: / hone / teresa / checkHost. Вариантом может быть cd / home / teresa, а затем введите ./checkHost (обратите внимание на ./, что означает, что вы явно просите файл запустить из текущего каталога.
Чтобы избежать этого, вы можете просто набрать
экспорт PATH = $ PATH: / home / teresa / scripts
Это означает, что, в дополнение к уже существующему пути, также ищите в / hone / teresa / scripts. Однако проблема заключается в том, что после выхода из системы этот параметр исчезнет. Итак, вы должны отредактировать скрытый файл ~ / .bashrc, найти там строку PATH и добавить ее соответственно. Я предполагаю, что вы используете Bash. В случае других оболочек синтаксис и файл различны.
Как новый пользователь, это очень заманчиво иметь. в пути поиска, что в основном означает, что также искать в текущем каталоге. Однако это не считается хорошей практикой по причинам, обсуждаемым в другом месте.
НТН