1

Как показано здесь, выполнение echo $PATH дает мне полный путь PATH, а выполнение просто $PATH дает неполную версию, которая выглядит так, как будто она где-то не экранирована должным образом:

Тем не менее, когда я просматриваю свои файлы конфигурации, единственные соответствующие строки для PATH выглядят так:

PATH=$PATH

... в .bashrc и ...

export PATH=usr/local/sbin:/usr/sbin:$PATH
export PATH=/sbin:$PATH
export PATH=/cygdrive/b/users/me/desktop:$PATH

... в .bash_profile . Мне кажется, что оба правильно отформатированы, поэтому я не уверен, что здесь происходит. Кто-нибудь еще может пролить свет на это?

2 ответа2

2

PATH - это переменная (которая используется оболочкой для поиска программ, просматривая каждый из их каталогов).

Когда вы запускаете echo $ PATH, вы показываете содержимое, если оно есть.

Когда вы запускаете $ PATH, вы пытаетесь запустить команду, включенную в переменную. Поскольку это список каталогов, это недопустимая команда, которая выдает ошибку.

2

(Я предполагаю, что вы удалили свое имя пользователя между users/ и /desktop . Теперь это выглядит как несколько пробелов, но на самом деле там нет места.)

Когда вы вызываете единственный $PATH , первый пробел в нем отделяет то, что bash интерпретирует как команду, от своего первого аргумента. No such file or directory ссылается на "команду".

Первый пробел находится в Program Files , поэтому "команда" заканчивается на Program . Сбой, потому что нет такого файла.

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