Когда я набираю это в sh, он выводит:

$ $PATH
sh: 12: /bin:/usr/bin: not found

Но у меня есть папка /usr /bin, и это совершенно бесполезно.

То же самое с Zsh:

▶ $PATH
zsh: no such file or directory: /bin:/usr/bin

Что за черт ? Как это исправить ?

1 ответ1

2

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .