Я установил rbenv, программу управления версиями ruby. Я посмотрел в файле .bashrc и заметил, что переменная пути была изменена, как показано ниже:
export PATH="$HOME/.rbenv/bin:$PATH"
Я думаю, что часть «: $ PATH» была включена, чтобы включить старое содержимое пути. Я хотел бы знать, что произойдет, если программа, которая изменяет переменную пути, не содержит часть ": $ PATH". Разве я не смогу запускать некоторые программы из командной строки, поскольку каталоги bin, в которых они находятся, больше не включаются в новую переменную path?
Вы корректны. Сторонние пакеты должны поэтому только расширить текущий путь, не ограничить его.
Вы были бы в состоянии выполнить их, необходимо будет просто определить полный путь. Изменение PATH
не изменяет связанные полномочия.
PATH
разделенный список двоеточия каталогов что Ваша оболочка (bash
, fish
,ksh
,sh
, и т.д.) использование, чтобы найти, что что-то выполняется. Если первым словом строки, которую Вы вводите к оболочке, не является встроенный Shell или псевдоним, шаги оболочки через список каталогов в $PATH
, поиск исполняемого файла с тем же именем как первая команда Вы ввели.
command not found
ошибки для общих команд (da/media/w3/0123-4567/PODCASTS/2016-Nov-27/loe-wildlife-decline.mp3te
, ls
...) indicitive уродливого PATH
. Чрезвычайная ситуация PATH
(достаточно позволить Вам решить проблему может быть установлено с export PATH=/usr/bin:/bin:/usr/local/bin:/snap/bin
.
Многие PATH
ошибки являются синтаксическими ошибками оболочки (Пространство прежде или после =
. Это PATH=value
, никакие пробелы).
До "повреждения пути", если я создал "специальную" версию ls
, сохраненный в /.evil/bin/ls
, И я могу повредить Ваш путь так, чтобы он имел /.evil/bin
ПРЕЖДЕ /bin
, когда Вы вводите ls
, оболочка будет работать /.evil/bin/ls
вместо /bin/ls
. Через Известный Глюк, но Вашу систему полностью проникают к тому времени, когда это становится полезным.