Board logo

标题: [转载教程] 【探索PowerShell 】【七】变量 [打印本页]

作者: HAT    时间: 2013-8-30 20:49     标题: 【探索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中,所有的变量以“$”开头,用“=”来给变量赋值。例如:
  1. $StrUser = "MR"
复制代码
或者使用"set-variable”命令:
  1. set-variable -name StrUser -value "MaRui"
复制代码
需要注意的是,使用“set-variable”命令时在变量名前不需要使用“$”。

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

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

屏幕输出变量值:
  1. write-output $StrUser
复制代码
或者直接输入变量名,如:
  1. $StrUser
复制代码
运行结果:
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的例子:
  1. $strA = "Hello"
  2. $strB = "World!"
  3. $strC = $strA + $strB
  4. $strC
复制代码
PS E:\> $strA = "Hello"
PS E:\> $strB = "World!"
PS E:\> $strC = $strA + $strB
PS E:\> $strC
HelloWorld!


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

替换
  1. $strA = "hi! world!"
  2. $strB = $strA -replace "hi!", "Hello"
  3. $strB
复制代码
PS E:\> $strA = "hi! world!"
PS E:\> $strB = $strA -replace "hi!", "Hello"
PS E:\> $strB
Hello world!


引用

看看下面的例子:
  1. $strA = "MaRui"
  2. "This is $strA."
  3. 'This is $strA.'
复制代码
PS E:\> $strA = "MaRui"
PS E:\> "This is $strA."
This is MaRui.
PS E:\> 'This is $strA.'
This is $strA.


在PowerShell中,对数字进行运算操作十分简单,不需要过多说明,只用几个例子:
  1. 5 + 100
  2. $x=200+1
  3. $x
  4. [int]$y=(7 + 13 * 2) / 10
  5. $y
复制代码
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




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2