这是什么意思:Powershell中的$_
和%
?
1..10 | Foreach {if($_%2){"$_ is odd number"}}
答案 0 :(得分:8)
%
Foreach-Object
的PowerShell别名。您可以执行Get-Alias
命令来查看其他可能包含特殊字符的别名,例如Where-Object
的别名?
。$_
$PSItem
的同义词Foreach-Object
脚本块({}
)中的当前对象。Where-Object {}
脚本块和Select-Object
哈希表中。 @
@
字符@VariableName
。该变量可以是数组或哈希表。它通常与哈希表或字典一起使用,其中Name属性表示参数名称,而value属性是该参数的值。然后将该变量放入另一个命令中。一个示例是Get-Process @Params
。用于通过数组子表达式运算符@()
声明和初始化数组。
$myArray = @()
和$myArray = @("value1","value2")
。$variable = @{}
或$variable = @{Property=Value}
。@'
或@"
开头的字符串值并以相应的'@
或"@
结束字符串值来表示。
额外阅读和重要链接:
有关其他算术运算符的模数信息,请参见About Arithmetic Operators。
有关Foreach-Object
以及对象处理方式的更多信息,请参见Foreach-Object。
有关飞溅的更多信息和用法,请参见About Splatting。
另一个不错的资源是About Automatic Variables,它将列出PowerShell的保留/自动变量。它们由PowerShell创建和维护。您会注意到有些变量具有非字母和非数字字符。创建自己的自定义变量时,应仅将这些变量用于其预期用途,而不使用其名称。
有关数组子表达式运算符的详细信息,请参见About Arrays。
有关创建和操作哈希表对象的详细信息,请参见About Hash Tables。
请参见About Quoting Rules,以了解更多信息和使用此处字符串的示例。