Почему 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.

Другие вопросы по тегам