Почему sh не находит в моем пути файлы, которые существуют?
Когда я набираю это в sh, он выводит:
$ $PATH
sh: 12: /bin:/usr/bin: not found
Но у меня есть папка /usr/bin, и она совершенно бесполезна.
То же самое с Zsh:
▶ $PATH
zsh: no such file or directory: /bin:/usr/bin
Что за черт? Как это исправить?
1 ответ
PATH - это переменная окружения в Linux и других Unix-подобных операционных системах, которая сообщает оболочке, в каких каталогах искать исполняемые файлы (т. Е. Готовые к запуску программы) в ответ на команды, введенные пользователем.
Чтобы увидеть ценность PATH
переменная, сделай это как echo $PATH
, В твоем случае, sh
будет искать исполняемый файл в /bin
а также /usr/bin
каталог.
Кроме того, вы можете использовать свой sh
команды как /bin/command
если исполняемый файл command
находится в /bin
каталог. Например, вместо использования ls
ты можешь использовать /bin/ls
с момента написания ls
запускает исполняемый файл ls
присутствует в /bin
, Если ls
не там в /bin
тогда это будет выглядеть в /usr/bin
, Если ls
все еще не найден в обоих каталогах, тогда он будет жаловаться.
Пытаясь использовать $PATH
или же /bin:/usr/bin:
непосредственно, sh
считает, что это должно бежать bin
исполняемый файл находится в каталоге /bin:/usr/
, Это причина, это дает directory or file not found
или же not found
ошибка.
Для получения подробной информации о PATH.