返回列表 发帖

[转载教程] 【探索PowerShell 】【七】变量

【探索PowerShell 】【一】初识http://www.bathome.net/thread-26144-1-1.html
【探索PowerShell 】【二】基本操作http://www.bathome.net/thread-26148-1-1.html
【探索PowerShell 】【三】PowerShell下使用Aliaseshttp://www.bathome.net/thread-26149-1-1.html
【探索PowerShell 】【四】PowerShell的对象、格式与参数http://www.bathome.net/thread-26159-1-1.html
【探索PowerShell 】【五】PowerShell基础知识http://www.bathome.net/thread-26162-1-1.html
【探索PowerShell 】【六】脚本基础简要http://www.bathome.net/thread-26163-1-1.html
【探索PowerShell 】【七】变量http://www.bathome.net/thread-26165-1-1.html
【探索PowerShell 】【八】数组、哈希表(附:复制粘贴技巧)http://www.bathome.net/thread-26166-1-1.html
【探索PowerShell 】【九】条件控制、逻辑http://www.bathome.net/thread-26167-1-1.html
【探索PowerShell 】【十】循环语句http://www.bathome.net/thread-26168-1-1.html
【探索PowerShell 】【十一】函数http://www.bathome.net/thread-26174-1-1.html
【探索PowerShell 】【十二】筛选器 - Filtershttp://www.bathome.net/thread-26187-1-1.html
【探索PowerShell 】【十三】WMI对象http://www.bathome.net/thread-26188-1-1.html
【探索PowerShell 】【十四】使用WMI对象的方法http://www.bathome.net/thread-26189-1-1.html
【探索PowerShell 】【十五】引号与转义字符http://www.bathome.net/thread-26190-1-1.html

变量

在程序设计中,变量是最基本的概念,它是我们表示数据的在存储时的代号。在PowerShell中,变量通常供我们在脚本中使用,它可以是数字、字符、字符串,甚至是对象。当然,和任何shell一样,它也有自己的特定的变量,如:$_ 、$Args、$Error、$Home、$PSHome等。

在PowerShell中,所有的变量以“$”开头,用“=”来给变量赋值。例如:
$StrUser = "MR"COPY
或者使用"set-variable”命令:
set-variable -name StrUser -value "MaRui"COPY
需要注意的是,使用“set-variable”命令时在变量名前不需要使用“$”。

当然,在声明变量时,要回避一些特殊名称,这些名称被称作“系统保留字”,列举如下:

break | continue | do | else | elseif | filter | foreach | function | if | in | return | switch | until | where | while

屏幕输出变量值:
write-output $StrUserCOPY
或者直接输入变量名,如:
$StrUserCOPY
运行结果:
PS E:\> $StrUser = "MR"
PS E:\> set-variable -name StrUser -value "MaRui"
PS E:\> write-output $StrUser
MaRui
PS E:\> $StrUser
MaRui


字符、字符串

和程序设计一样,在处理字符、字符串时,需要搞清楚数据类型。下面是PowerShell的常用数据类型说明:

int有符号,32bit
long有符号,64bit
double双精度64bit浮点
single单精度32bit浮点
stringunicode编码字符串
charunicode编码字符,16bit
byte无符号字符,8bit
decimal十进制数,128bit
array数组
xmlxml对象
hashtable哈希表
booltrue、false


我们通过几个例子来明白数据类型的意义。首先看看string的例子:
$strA = "Hello"
$strB = "World!"
$strC = $strA + $strB
$strCCOPY
PS E:\> $strA = "Hello"
PS E:\> $strB = "World!"
PS E:\> $strC = $strA + $strB
PS E:\> $strC
HelloWorld!


对字符串的操作还有其他方法,如:

替换
$strA = "hi! world!"
$strB = $strA -replace "hi!", "Hello"
$strBCOPY
PS E:\> $strA = "hi! world!"
PS E:\> $strB = $strA -replace "hi!", "Hello"
PS E:\> $strB
Hello world!


引用

看看下面的例子:
$strA = "MaRui"
"This is $strA."
'This is $strA.'COPY
PS E:\> $strA = "MaRui"
PS E:\> "This is $strA."
This is MaRui.
PS E:\> 'This is $strA.'
This is $strA.


在PowerShell中,对数字进行运算操作十分简单,不需要过多说明,只用几个例子:
5 + 100
$x=200+1
$x
[int]$y=(7 + 13 * 2) / 10
$yCOPY
PS E:\> 5 + 100
105
PS E:\> $x=200+1
PS E:\> $x
201
PS E:\> [int]$y=(7 + 13 * 2) / 10
PS E:\> $y
3


有时,PowerShell并不能很好的为我们自动指定数据类型,因此,在编写脚本时,请尽可能的为变量声明数据类型,以防出错。在数学运算上,有如下操作:

+
-
*
/
%取余
=赋值
++给变量加1,相当于+1
--给变量减1,相当于-1


当然,括号也是免不了要用的。

本文出自 “马睿的技术博客” 博客,请务必保留此出处http://marui.blog.51cto.com/1034148/292192

返回列表