Передав восклицательный знак, скобки как часть исполняемых аргументов в PowerShell - PullRequest
1 голос
/ 06 марта 2019

В git, если мы хотим исключить файл из вывода diff (в bash), мы делаем что-то вроде следующего:

git diff -- !(file.txt)

Но это запрещено в PowerShell. Следовательно, есть ли способ достичь этого в командной строке powershell?

1 Ответ

1 голос
/ 06 марта 2019

Просто одинарные кавычки ваш аргумент:

git diff -- '!(file.txt)'

Одиночные кавычки заставляют PowerShell обрабатывать строку буквально и не позволяют интерпретировать символы.такие как ( в качестве собственных метасимволов.

Перед вызовом целевой программы PowerShell повторно цитирует аргументы, если и при необходимости , за кулисами;то есть:

  • Он содержит аргумент в "...", если он содержит пробелы, а также в некоторых, менее распространенных сценариях (см. ссылку ниже).

  • Он передает его без кавычек в противном случае.

Примечание: с этим невидимым повторным цитированием связаны подводные камни - см. этот ответ .

...