[英]Call Windows executable from PowerShell script, passing all arguments
[英]passing exclamation, brackets as part of executable arguments in powershell
在 git 中,如果我們想從 diff 輸出(在 bash 上)中排除一個文件,我們會執行如下操作:
git diff -- !(file.txt)
但這在powershell中是不允許的。 因此,有沒有辦法在 powershell 提示中實現這一點?
簡單地單引號你的論點:
git diff -- '!(file.txt)'
單引號使 PowerShell 按字面意思處理字符串並阻止它解釋字符。 例如(
作為它自己的元字符。
在調用目標程序之前,PowerShell 在幕后根據需要重新引用參數; 那是:
如果它包含空格,並且在某些不太常見的情況下(請參見下面的鏈接),它將在"..."
包含一個參數。
否則它不帶引號通過它。
注意:這種不可見的重新引用存在一些陷阱 - 請參閱此答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.