Power Shell 提供给用户变量的定义功能。
变量不需要首先声明(当然,处于统一性,对于一些全局变量还是建议首先进行声明,声明需要赋值),变量名称以$为前缀。如果调用“$a”,并未赋值,那么$a变量相当于未定义。
变量不需要声明类型,直接对变量赋值即可。有点类似 js脚本 var 变量的用法,变量数据类型变量最后一次赋值类型为准。
例如:
$a=1 # 变量$a是值类型
$b=”aa” # 变量$b是字符串
$b=$a+1 # 变量$b编程值类型,值为2
备注:Power Shell 不区分大小写(当然字符串内容除外) #为单行注释符号,#号后内容全部认为是注释,目前好像没有段落注释和局部注释
定义变量的规则
-变量可以是数字 $123
-变量可以是字符串 $abc
-变量可以是特殊字符 ${as#} 但是需要将特殊字符用{}包裹起来
写个很幼稚的例子:
$a=1
$b=2
$c=$a+$b
write $c
结果如下:
备注:变量是有生命周期的,如果把PS窗口关闭的话,所有的变量会自动释放掉,否则除非手动删除变量,变量一直存在。
当然,也可以功过cmdlet命令来操作变量,命令如下:
变量赋值方法:Set-Variable varName 100 (该方法有声明效果)
取值方法: Get-Variable varName
清空值: Clear-Variable varName
删除变量 Remove-Variable varName
取多个变量如var1 var2 var3地值: Get-Variable var1,var2,var3例子:
set-variable a 100
set-variable b 200
get-variable a
get-variable a,b
clear-variable a
get-variable a
remove-variable a
get-variable a
效果:
备注:最后的Error为什么?你说呢。。。
变量支持特殊赋值方法,其实就是当成字符串来拼接,很好用的。
$a=111
$b=222
$c=”$a , $b”
write $c
效果:
备注:用来拼接字符串不错的。
最后写个日期用法:
$date=Get-Date #获取当前时间
write $date
$date.AddDays(3) #当前时间加3天
write $date
效果:
备注:当然,AddDays可以用也就意味这AddMonth和AddYear也可以用了。正数可以,那么负数呢?
变量还是很有用的技巧的,适当使用变量可以提高脚本可读性,并且有助于简化代码和后期维护。