PowerShell学习笔记


数组其实在任何语言里都是一个比较头疼的学习对象,在学习PowerShell的空余时间,做了以下简单整理:

  1. 在PowerShell中,只要把不同的对象用逗号“,”连接起来,就可以构造出数组对象。

  例如:520,'abc',2MB,0xFFFE

520

abc

2097152

65534

  上面的小例子输出了4个对象:数值“520”、字符串“abc”、数值“2MB”和十六进制数值“0xFFFE”。

  2. 关于数组对象更多的特性:

$array = 1,2,3,4,5

$int = 1

$array.count

5 

"$array"

1 2 3 4 5

$int.count

"$int"

1

  以上$int是一个整数,而不是数组。

  3. PowerShell是基于对象的shell,现在让我们来看看数组究竟是什么对象:

$array.GetType().FullName

System.Object[]

  其实Powershell实际操作的对象还是.Net类库中的对象。使用数组时,需要大家记住数组的第一个元素的下标是“0”、数组的最后一个元素下标是数组长度减去1。例如:

$array = 1,2,3

$array.Length

3

$array[0]

1

$array[2]

3

  实际上,当数组访问越界时,PowerShell是不会给出任何错误信息的,只会得到一个$null对象,如$array[4] 。

  3. 如何向这个数组中添加新的元素呢:

$a = " I ", " am "

$a[0]

I 

$a[1]

am

$a[2] = " Lihua "

Array assignment failed because index '2' was out of range.
        At line:1 char:4
        + $a[2 <<<< ]=" Lihua "
虽然如此,但PowerShell可以通过$a[0]="we"来修改数组元素值。另外添加则需要:

$a = $a + " Lihua "

$a

I am Lihua

  最后补充一下学习PowerShell中的系统cmdlets技巧:

  我写了一个批量输出帮助文件,并只输出Examples的例子,希望对你学习有帮助。

$d = Get-Command -CommandType Cmdlet
"Total:" + $d.Count
$i = 0
$d | ForEach-Object -process{
    $i++
    "Printing" + $i
    $cmdlet =  PowerShell学习笔记 - 站长学院


Copyright © 2016 phpStudy |