我已经看到PowerShell中用于初始化数组的@符号。 @符号表示什么,我可以在哪里阅读更多内容?Powershell中的“@”符号是做什么的?
回答
的PowerShell将实际治疗任何逗号分隔的列表作为一个数组:
“服务器1”, “服务器2”
因此@是在这些情况下可选。然而,对于关联数组,需要@:
@ { “密钥”= “值”; “密钥2”= “值2”}
正式地,@是 “数组运算符”。您可以在随PowerShell一起安装的文档中阅读更多内容,也可以在我共同撰写的书籍“Windows PowerShell:TFM”中找到它。
的泼洒算
要创建阵列,我们创建一个变量并分配阵列。数组由“@”符号表示。让我们上面的讨论,并使用阵列连接到多台远程计算机:
$ strComputers = @(“服务器1”,“服务器2”,“Server3的”)
它们用于数组和哈希。
您还可以在@()中包装cmdlet(或管道)的输出,以确保您返回的是数组而不是单个项目。
例如,dir通常会返回一个列表,但根据选项,它可能会返回一个对象。如果你打算用foreach对象遍历结果,你需要确保你得到一个列表。这里有一个人为的例子:
$结果= @(DIR C:\ AUTOEXEC.BAT)
一件事...空数组(喜欢初始化变量)被表示@()。
[array] $ a语法在视觉上更清晰一些,但是很好。 – 2008-12-13 04:43:50
在PowerShell V2中,@也是SPLAT运算符。
PS> # First use it to create a hashtable of parameters:
PS> $params = @{path = "c:\temp"; Recurse= $true}
PS> # Then use it to SPLAT the parameters - which is to say to expand a hash table
PS> # into a set of command line parameters.
PS> dir @params
PS> # That was the equivalent of:
PS> dir -Path c:\temp -Recurse:$true
实验!请享用!从事!
杰弗里Snover [MSFT] Windows管理合伙人建筑师
好的。我可以原谅这种不符合ECMA-48颜色的原因,因为哇,这很酷。 – 2010-04-22 05:16:11
虽然上述反应提供最的答案是有益的 - 即使这个迟到的问题 - 提供完整的答案,以机智:
阵列子表达(见about_arrays)
强制值是一个数组,即使一个单或空,例如$a = @(ps | where name -like 'foo')
哈希初始化(见about_hash_tables)
初始化哈希表键 - 值对,例如 $HashArguments = @{ Path = "test.txt"; Destination = "test2.txt"; WhatIf = $true }
泼洒(见about_splatting)
让我们调用小命令从数组或一个散列表而不是更习惯单独列举的参数,例如参数使用哈希表的正上方,Copy-Item @HashArguments
这里串(见about_quoting_rules)
让我们创建具有方便的嵌入引号,通常用于多行字符串,如字符串:
$data = @"
line one
line two
something "quoted" here
"@
因为这种类型的问题('x'符号在PowerShell中的含义是什么?)在StackOverflow以及许多读者注释中很常见,我将PowerShell标点符号放在一起,只是发布d在Simple-Talk.com上。阅读所有关于@以及%和#和$ _和?和更多在The Complete Guide to PowerShell Punctuation。附加到这篇文章是这张墙纸,给你在一张纸上的一切:
- 1. VBA中的$符号是做什么的?
- 2. PowerShell的“ResumeState”它做什么
- 3. 这个程序中有两个&符号是做什么的?
- 4. 在sympy中做符号集成的快速方法是什么
- 5. Javascript,^(插入符号)运算符是做什么的?
- 6. @(符号)在Swift中做什么?
- 7. “@”符号在ngRequest中做什么
- 8. “@”符号在SQL中做什么?
- 9. *在C中做什么符号?
- 10. 双“at”(@@)符号在Makefile中做什么?
- 11. 插入符号(^)在JavaScript中做什么?
- 12. 变量前面的'&'符号是做什么的?
- 13. 初学者Ruby问题 - 字符串文字中的$ {...}符号是做什么的?
- 14. JSP中的$符号是什么意思
- 15. PHP中符号的含义是什么
- 16. 评论中的“@”符号是什么?
- 17. JavaScript中的$符号是什么意思?
- 18. Javascript中的符号“:”是什么意思?
- 19. CSS中'@'符号的用途是什么?
- 20. 什么是JetBrains IDE中的“符号”
- 21. TSQL中的“#”符号是什么意思?
- 22. 什么是angular.js中的“[]”符号?
- 23. TypeScript中的@符号是什么?
- 24. jQuery中符号$的含义是什么?
- 25. ccs值中的符号@是什么?
- 26. brightscript中的<>`符号是什么?
- 27. GDB中@符号的含义是什么?
- 28. coffeescript中INT_MAX,INT_MIN的符号是什么?
- 29. Python中“|”符号的含义是什么?
- 30. 什么是Java中的 - >符号?
请务必检查出Jeffrey Snover的答案在下面... @不仅仅是一个数组标识符。 – 2009-09-15 06:47:13