如何一次输出整个数组

时间:2019-05-14 09:34:58

标签: arrays powershell

我正在使用PowerShell进行编码,并希望一次输出整个数组。有可能吗?

我需要输出一个SQL表,不想说$ kubectl exec -ti busybox -- nslookup kubernetes.default

$reader[1..20]

我不想说像Write-Host $reader[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] 这样的数字,我想像$reader[2..3]那样一次输出整个数组

2 个答案:

答案 0 :(得分:0)

您可以使用StringBuilder

$sb= [System.Text.StringBuilder]::new()
$reader | % { $sb.Append($_) }
Write-Host ($sb.ToString())

或使用join运算符。例如,加入一个数组并将每个条目转储在单独的行中:

 $text = @("a", "b", "c")
 Write-Host ($text -join "`n")

答案 1 :(得分:0)

您如何填充$ reader?

如果仅输出到屏幕,这是PowerShell的默认设置,因此对Write- *并没有真正的需求。

[array]$reader = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31

# Or

$reader = @(0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)



$reader

# Result

0
1
2
3
4
5
...

$reader[3]

# Result

3

$reader[0..3]

# Result

0
1
2
3