PS下的語法學習總結
變數(variable):記憶體單元中,用來做標記的一種值
變數的常見型別
字元型char定義的的是文字
數值型int定義的是數字
布林型bool定義兩種結果的型別,如錯或者對
(1)變數需要先人為的定義了才能生效:
如何定義變數
在powershell中,有2種方法定義變數
.
使用$符號作為定義變數的標示符
.使用set-variable來定義,具體如下
1:$變數名=變數值
eg:$a=2012意思是把2012這個數值賦予a這個變數
2:set-variable-name變數名-value"變數值"
eg:set-variable-nameB-value"12"意思是把12這個數值賦予
如何輸出變數名
1:write-output$變數名
eg:write-output$a則輸出2012這個值。$a的賦值見上個例子
2:$變數名
eg:$a也可以直接這樣賦值。輸出結果一樣為2012
在powershell中,還有一些特殊的變數
環境變數--系統變數----系統保留字
如:$env:表示環境變數
$home系統變數
陣列
陣列的概念:用於儲存相同型別的資料元素組成的集合
為什麼要使用陣列
為了方便很好的查詢自己想要的資料
陣列型別
1:一維陣列
如這樣的陣列
水果:蘋果香蕉芒果草莓
2:二維陣列
3:多維陣列
如何定義陣列
陣列的索引號稱為下標
陣列的第一個元素下標為0
方法一
$陣列名="陣列值1","陣列值
eg:$a="1","2","3"定義了3個數值的陣列
方法二
$陣列名[email protected]("陣列值1","陣列值2",........)
函式:一個程式碼塊就可以稱為一個函式
為什麼要使用函式
eg:隨機輸入三個數,讓三個數相加給出結果,如何實現?
1:保持各個功能程式碼的獨立性。
2:保證指令碼的高可用性和易維護性。
如何宣告一個函式
function函式名(引數){程式碼}
在宣告引數的同時,需要宣告資料型別並賦予預設值
eg:
functionadd
{
param
([int]$a=0,[int]$b=0)
$c=$a+$b
"$c"
}
函式要支援管道符,需要使用$input變數
eg:dir-pathd:\|findfolder
powershell中的操作運算子
什麼是運算子:運算子就是告訴程式執行特定的算術或者邏輯操作的符號
舉例說明比較運算子
對值進行比較-eq是“等於”的意思,-gt是“大於”的意思-et是“小於”的意思
對條件進行測試
-like表示模糊對比
-contains表示包含
eg:
算術運算子
對值進行加,減,乘,除的運算。+-*/
“+”還有一個功能,是將輸入的字串連線起來。
賦值運算子
賦值用“=”
特殊運算子
使用IF判斷結果
IF的結構
POwershell中的迴圈
什麼是迴圈
powershell迴圈的基本語句
1:for迴圈
2:foreach迴圈
3:do.....while迴圈
4:while迴圈
首先for迴圈語法結構
和foreach語法的比較PS中的管道和物件
管道
在各種現代的shell中,均支援管道的概念。管道的最大特點就是:前一個命令的輸出作為後一個命令的輸入。cmd、bash均支援管道的概念,這裡我就不多說了,下面我們說說PS中
管道的概念。
在PS中,繼承了cmd管道符號的表示方法:|表管道;但是PS與cmd的管道有本質的區別,cmd中的管道傳遞的是文字資訊,而PS中傳遞的是物件,因此PS中的管道更加易於使用和管理。
例如:get-locationcmdlet命令返回的是一個pathinfo物件,這個物件是一個資訊包,資訊包中包含了相關的資訊。
2、2物件成員
基於面向物件的概念,物件具有屬性和方法;這些都可以認為是物件的成員,PS物件均具有眾多的成員,為了檢視這些成員,PS提供了一個獲取物件成員的cmdlet:get-member。
我們可以利用get-member獲取物件的成員資訊。
轉載於:https://blog.51cto.com/xpqinqun/1332379