我已經看到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