Как отключить ". \" В powershell при выполнении локальной команды? - PullRequest
2 голосов
/ 09 марта 2011

По умолчанию Powershell требует ". \" Перед любым локальным исполняемым файлом. Таким образом, чтобы выполнить локальную команду в Powershell, вам нужно набрать что-то вроде

.\foo arg1

Как отключить требование для ввода ". \", Чтобы я мог работать так же, как

foo arg1

А как правильно назвать ". \"?

Ответы [ 4 ]

7 голосов
/ 09 марта 2011

. - текущий каталог, а \ - разделитель пути. Это означает, что .\foo - это относительный путь к программе foo.

Если . не включен в переменную окружения PATH, вы должны указать ее, как указано выше. Чтобы избежать этого, вы можете добавить . к вашей переменной PATH. Но, как правило, никогда не делайте этого, так как это приводит к угрозам безопасности. Лучше использовать .\foo или даже лучше указать абсолютный путь.

1 голос
/ 09 марта 2011

Это функция безопасности, позволяющая запускать только исполняемые файлы в нужном месте. Это гарантирует, что вы используете правильный исполняемый файл, а не угнанный.

Это реализация языка / оболочки, и вы не можете ее отключить, IMO.

0 голосов
/ 11 марта 2011

возможно.не в пути, функция tabcompletion обнаруживает это, поэтому, если вы напишите foo [TAB], то автоматически расширитесь до. \ foo.По этой причине я не вижу, где находится «дополнительная работа», помещающая точку и косую черту, если tabcompletions позаботится об этом.

0 голосов
/ 09 марта 2011

Вы не можете отключить его, однако вы можете включить свои функции в модуль (или даже скрипт, который вы загружаете где-то в другом месте), и загрузить, чтобы хотя бы вызов этих функций выглядел лучше (без. \ Foo

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