Где <commandline><arg> на самом деле выглядит на Mac / OSX / MACOS? - PullRequest
0 голосов
/ 11 июля 2019

Универсальный вопрос MACOS.

Я пытаюсь найти местоположение исполняемого файла, который мне говорят запустить. Для запуска файла набираю:

postgres -V

Я уверен, что удалил это, но он все равно возвращает мне «версию».

Я знаю, что если я выполню команду, терминал будет искать в локальной папке, в которой я нахожусь. Но файл / исполняемый файл для postgres не находится в этой папке. В каких еще папках смотрит mac?

Я знаю, что он будет использовать .bashrc и .bash_profile, чтобы выяснить список PATH, но кроме этого я не уверен в том, что OSX отправляется на поиск исполняемых файлов.

Может кто-нибудь пролить свет на это? Или указать мне на документацию? Я не мог найти то, что хотел, когда искал.

Еще лучше, я могу выполнить какую-то команду, которая скажет мне местоположение этого конкретного исполняемого файла?

1 Ответ

1 голос
/ 11 июля 2019

Оболочка просматривает $PATH, чтобы найти исполняемый файл.Вы можете увидеть это, введя эту команду:

echo $PATH

Вы также можете использовать which, чтобы найти, где ОС найдет исполняемый файл (то есть, какой из них на самом деле запущен):

which postgres

Если это не удается, это означает, что ваша команда является псевдонимом или функцией, которую вы можете проверить, используя type:

type postgres

(postgres обычно , а не псевдоним или функция, это просто для полноты.)

Я знаю, что если я запустил команду, то терминал будет искать в локальной папке, в которой я нахожусь

Это верно для Windows / DOS.Обычно это не верно в Unix / Linux (включая OSX), если только . не было явно добавлено к $PATH (что не рекомендуется из соображений безопасности).Чтобы запустить что-то в текущем каталоге, обычно вам нужно явно добавить папку: ./my_command.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...