我有一個變數:$a = sfd. 如果我使用New-Item '1'$a,那么它將產生此錯誤:
New-Item: A positional parameter cannot be found that accepts argument 'sdf'.
但如果我使用New-Item "1$a"它,它會起作用。根據如何在 PowerShell 中連接字串和變數?這兩種方法都應該有效。你知道這是為什么嗎?
uj5u.com熱心網友回復:
因為'1'$a被視為兩個單獨的引數,并且New-Itemcmdlet 只有 1 個位置引數 ( ) ,這與接受多個位置引數的-Patheg 不同:Write-Host
$a = sfd
Write-Host '1'$a
1 sfd
(請注意,在顯示的結果中,引數用空格分隔)
除了 PowerShell 之外,還有其他幾種連接字串的方法"1$a",例如New-Item ('1' $a). 有關更多資訊,請參閱您想知道的關于字串中的變數替換的所有資訊
uj5u.com熱心網友回復:
不知道為什么鏈接示例中的 Write-Host cmdlet 接受了這一點(可能是因為 cmdlet 接受了一個物件)。如果我單獨使用它('1'$a),我會收到以下錯誤:
Unexpected token '$a' in expression or statement.
因此,即使它可以與某些 cmdlet 一起使用,我也永遠不會使用該'1'$a語法來連接字串。相反,請使用以下選項之一:
"1$a"('1 ' $a)('1{0}' -f $a)
最后一個示例使用格式字串,當您必須將多個變數連接成一個字串以提高可讀性時非常有用。請參閱:了解 PowerShell 和基本字串格式
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520230.html
標籤:细绳电源外壳级联变量赋值
