Power Shell 提供給使用者變數的定義功能。
變數不需要首先聲明(當然,處於統一性,對於一些全域變數還是建議首先進行聲明,聲明需要賦值),變數名稱以$為首碼。如果調用“$a”,並未賦值,那麼$a變數相當於未定義。
變數不需要宣告類型,直接對變數賦值即可。有點類似 js指令碼 var 變數的用法,VARIANT 資料型別變數最後一次賦實值型別為準。
例如:
$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也可以用了。正數可以,那麼負數呢?
變數還是很有用的技巧的,適當使用變數可以提高指令碼可讀性,並且有助於簡化代碼和後期維護。