Taariikh ahaan, adeegyada khadka taliska ee nidaamyada Unix ayaa si fiican u horumaray marka loo eego Windows, laakiin imaatinka xal cusub, xaaladdu way is bedeshay.
PowerShell waxaa lagu qori karaa tarjumaad, luuqad badan oo jaangooyooyin leh oo leh walxo habraac caadi ah, shayga ku jihaysan, iyo xitaa barnaamijyada shaqaynta: laanta shuruudaysan, wareegyada, doorsoomayaasha, diyaarinta, miisaska xashiishka, fasallada, maaraynta khaladaadka, iyo sidoo kale shaqooyinka, cmdlets, iyo dhuumaha.
Shaxda tusmada:
Waxaad ku qori kartaa koodka tifaftiraha qoraalka kasta ama adoo isticmaalaya jawi horumarineed oo isku dhafan - habka ugu fudud ayaa ah inaad qaadato Windows PowerShell ISE oo la socota nidaamyada hawlgalka server-ka Microsoft. Tani waxay kaliya lagama maarmaan u tahay qoraallada si adag u adag: amarrada gaaban ee gaaban ayaa sahlan in si isdhexgal ah loo fuliyo.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Isticmaalka faallooyinka waxa loo tixgaliyaa qayb ka mid ah qaabka barnaamijka wanaagsan oo ay weheliso gelid habboon iyo meel cad:
# ΠΠ»Ρ ΡΡΡΠΎΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅ΡΠ΅ΡΠΊΠΈ β ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ.
<#
Π’Π°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ.
#>
Kala duwanaanshaha iyo noocyadooda
Isbeddellada ku jira PowerShell waa shay la magacaabay. Magacyadooda waxaa ku jiri kara jilaha hoosta, iyo sidoo kale xarfo iyo lambaro. Calaamadda $ ayaa had iyo jeer la adeegsadaa magaca ka hor, iyo in lagu dhawaaqo doorsoome, waa ku filan tahay in la siiyo turjumaanka magac sax ah:
Si loo bilaabo doorsoome (qiimo u yeelo), hawlwadeenka meelaynta (calaamadaha =) ayaa la isticmaalaa:
$test = 100
Waxaad ku dhawaaqi kartaa doorsoome adiga oo ku qeexaya nuuciisa xajmiyada labajibbaaran (nooca hawlwadeenka tuurista) ka hor magaca ama qiimaha:
[int]$test = 100
$test = [int]100
Waa muhiim in la fahmo in doorsoomayaasha PowerShell ay yihiin walxo dhammaystiran (classes) leh hanti iyo habab noocyadoodu ku saleysan yihiin kuwa ku jira NET Core. Waxaan taxnay kuwa ugu waaweyn:
Nooca (.net class)
Description
Tusaalaha kood
[string] System. XarigXadhiga Unicode
$test = "imtixaan"
$test = 'imtixaan'
Dabeecadda Unicode (16 bit)
[char]$tijaabo = 'c' [bool] Nidaamka.Booleannooca boolean (Boolian Run ama Been)
[bool]$imtixaan = $ run [int] Nidaamka.Int32soddon iyo laba bit (32 bits)
[int]$imtixaan = 123456789 [dheer] Nidaamka.Int64wadarta afar iyo lixdan (64 bits)
[dheer] $ imtixaan = 12345678910 [keli] Nidaamka. Singlebarta sabaynaysa oo dhererkeedu yahay 32 bit
[hal]$ imtixaan = 12345.6789 [double]Nidaamka.Doubletirada barta sabaynaysa dhererkeeduna yahay 64bit (8 bytes)
[laba jeer] $imtixaan = 123456789.101112 [decimal]Nidaamka.Jajab128-bit nambarka barta sabaynta (loo baahan yahay in lagu dhammeeyo d)
[ tobanle ]$imtixaan = 12345.6789d [DateTime]System.DateTimetaariikhda iyo waqtiga
$test = GetDate
[array] System. Shayga[]array oo tusmihiisa curiye ka bilaabma 0
$test_array = 1, 2, "imtixaan", 3, 4
Nidaamka.Ururinta.Hashtablemiisaska xashiishka waa habab xidhiidhin leh oo leh furayaal la magacaabay, oo loo dhisay si waafaqsan mabda'a: @{key = "value"}
$test_hashtable = @{one="mid"; laba = "laba"; three="saddex"}
PowerShell waxay taageertaa beddelka nooca daahsoon, marka lagu daro, nooca doorsoomayaasha waxaa lagu beddeli karaa duullimaad (tusaale ahaan, iyadoo la adeegsanayo hawlwadeenka shaqada), haddii aan si qasab ah loo cayimin - kiiskan, turjumaanku wuxuu bixin doonaa qalad. Waxaad ka go'aamin kartaa nooca doorsoomayaasha tusaalihii hore adiga oo wacaya habka GetType():
$test.GetType().FullName
Waxa jira tiro cmdlets ah oo lagu maamulayo doorsoomayaasha. Liiskooda oo qaab ku habboon ayaa lagu soo bandhigay iyadoo la adeegsanayo amarka:
Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap
Si aad u aragto doorsoomayaasha lagu dhawaaqay iyo qiimahooda, waxaad isticmaali kartaa cmdlet gaar ah:
Get-Variable | more
Habkani wuxuu u muuqdaa mid aad u dhib badan, aad bay ugu habboon tahay in lala shaqeeyo doorsoomayaasha iyada oo loo marayo hawlwadeennada ama si toos ah u gelaya hantidooda iyo hababka. Si kastaba ha ahaatee, cmdlets waxay xaq u leeyihiin inay jiraan sababtoo ah waxay kuu oggolaanayaan inaad dejiso qaar ka mid ah xuduudaha dheeraadka ah. Waa muhiim in la fahmo in doorsoomayaasha isticmaalaha lagu qeexay kaliya fadhiga hadda socda. Marka console la xiro ama qoraalku dhammaado, waa la tirtiraa.
Doorsoomayaasha nidaamka
Marka lagu daro kuwa uu ku dhawaaqay isticmaaluhu, waxa jira doorsoomayaal (nidaam) ku dhex dhisan oo aan la tirtirin ka dib marka fadhiga hadda dhamaado. Waxay u kala qaybsan yihiin laba nooc, halka xogta gobolka PowerShell lagu kaydiyo doorsoomayaal otomaatig ah oo aan iyaga laftoodu loo qoondayn karin qiimayaal aan sabab lahayn. Kuwaas waxaa ka mid ah, tusaale ahaan, $PWD:
$PWD.Path
Doorsoomayaasha doorbidida ayaa loo baahan yahay si loo kaydiyo dookhyada isticmaalaha, qiyamkooda la bedeli karo. Tusaale ahaan, addoo isticmaalaya $ErrorActionPreference , falcelinta turjubaanka taliska ee dhacdada khaladaadka aan dilaaga ahayn waa la dejiyay.
Marka lagu daro hawl wadeenada iyo cmdlets ee gelitaanka doorsoomayaasha la shaaciyay, waxa jira Variable: pseudo-accumulator. Waxaad kula shaqayn kartaa adigoo isbarbar dhigaya darawalada kale, doorsoomayaasha kiiskani waxay u egyihiin walxaha nidaamka faylka:
Get-ChildItem Variable: | more
ama
ls Variable: | more
Baaxadda
Doorsoomayaasha PowerShell, waxaa jira fikradda baaxadda (Scope). Ficilka baaxadda caalamiga ah (Global) waxay khusaysaa dhammaan kalfadhiga hadda socda - waxaa ku jira, tusaale ahaan, doorsoomayaasha nidaamka. Doorsoomayaasha maxalliga ah ayaa kaliya lagu heli karaa baaxadda halka lagu qeexay: gudaha hawl, dheh. Waxa kale oo jira fikradda baaxadda qoraalka (Script), laakiin amarrada qoraalka asal ahaan waa maxalli. Sida caadiga ah, marka lagu dhawaaqayo doorsoomayaasha, waxaa la siinayaa baaxad maxalli ah, si tan loo beddelo, waxaad u baahan tahay dhisme gaar ah sida: $Global: variable = value.
Tusaale ahaan, sida tan:
$Global:test = 100
Doorsoomayaasha deegaanka (deegaanka)
Mid kale oo been abuur ah, Env:, ayaa laga heli karaa PowerShell waxaana loo isticmaali karaa in lagu galo doorsoomayaasha deegaanka. Marka qolofku bilaabmo, waxaa laga soo koobiyay nidaamka waalidka (taas oo ah, barnaamijka bilaabay fadhiga hadda) iyo inta badan qiyamkooda bilowga ah waxay la mid yihiin qiyamka guddiga kantaroolka. Si aad u aragto doorsoomayaasha deegaanka, isticmaal Get-ChildItem cmdlet ama naaneysyadiisa (naagtiisa): ls iyo dir.
dir Env:
Doorsoomayaashani waa isku xigxiga bytes (ama jilayaasha, haddii aad rabto), fasiraadda taas oo ku xidhan oo keliya barnaamijka iyaga isticmaalaya. *-cmdlets-ka beddelmi kara kuma shaqeeyaan doorsoomayaasha deegaanka. Si aad iyaga u gasho, waa inaad isticmaashaa horgalaha wadista:
$env:TEST = "Hello, World!"
Hawlwadeennada xisaabaadka iyo isbarbardhigga
PowerShell waxay bixisaa hawlwadeenada xisaabaadka ee soo socda: + (ku dar), - (kalagoyn), * (ku dhufo), / (qaybinta), iyo % (modulo ama modulo). Natiijada tibaaxda xisaabeed waxaa laga qiimeeyaa bidix ilaa midig iyadoo la raacayo nidaamka guud ee la oggol yahay ee hawlgallada, iyo qamasyada waxaa loo isticmaalaa in lagu kooxeeyo qaybo ka mid ah tibaaxaha. Meelaha bannaan ee u dhexeeya hawl-wadeennada waa la iska indho-tiraa, waxa loo isticmaalaa oo keliya si loo fududeeyo akhrinta. Hawlwadeenka + sidoo kale waa isku xidhaa, oo * hawlwadeenku wuxuu ku celiyaa xargaha. Haddii aad isku daydo in aad tiro ku darto xadhig, waxa loo rogi doonaa xadhig. Intaa waxaa dheer, luqadda PowerShell waxay leedahay hawlwadeeno badan oo isbarbardhigga kuwaas oo hubiya ciyaarta u dhaxaysa laba qiyam oo soo celisa boolean Run ama Been:
Hawlwadeennada
Description
Tusaalaha kood
-eq
La mid ah / La mid ah (la mid ah = ama == luqadaha kale)
$imtixaan = 100
$ tijaabi -eq 123
- waa
Lama sina / Lama sina (la mid ah <> ama !=)
$imtixaan = 100
$tijaabo -ne 123
-gt
Ka weyn / ka badan (analogue>)
$imtixaan = 100
$tijaabada -gt 123
-gee
Ka weyn ama le'eg / Ka weyn ama la mid ah (la mid ah >=)
$imtixaan = 100
$tijaabada -ge 123
-lt
In ka yar / ka yar (la mid ah <)
$imtixaan = 100
$tijaabo -lt 123
-leysay
In ka yar ama le'eg / In ka yar ama la mid ah (la mid ah <=)
$imtixaan = 100
$tijaabo -le 123
Waxaa jira hawl wadeeno kale oo la mid ah oo kuu oggolaanaya, tusaale ahaan, inaad is barbardhigto xargaha ku salaysan kaarka duurjoogta ah ama aad isticmaasho tibaaxo joogto ah si aad uhesho qaab. Waxaan si faahfaahsan uga hadli doonaa maqaallada mustaqbalka. Calaamadaha <,> iyo = looma isticmaalo isbarbardhigga sababtoo ah waxaa loo isticmaalaa ujeedooyin kale.
Hawl-wadeennada shaqada
Marka lagu daro kuwa ugu caansan = hawlwadeenka, waxaa jira hawlwadeeno kale: +=, -=, *=, /= iyo %=. Waxay beddelaan qiimaha ka hor meelaynta. Hawl-wadeennada aan caadiga ahayn ++ iyo -, kuwaas oo kordhiya ama hoos u dhigaya qiimaha doorsoomayaasha, waxay u dhaqmaan si la mid ah - waxay sidoo kale khuseeyaan hawlwadeennada shaqada.
Hawl -wadeennada macquulka ah
Isbarbardhigga kaliya kuma filna in lagu qeexo xaaladaha adag. Waxaad ku qori kartaa tibaax kasta oo macquul ah adoo isticmaalaya hawlwadeenada: -iyo, -ama, -xor, -maya iyo!
("Π’Π΅ΡΡ" -eq "Π’Π΅ΡΡ") -and (100 -eq 100)
-not (123 -gt 321)
!(123 -gt 321)
Bood shuruudaysan
Hawl wadeenada laanta PowerShell waa halbeeg: HADDII (HADDII... KALE, HADDII... KALE) iyo BEDDI. Aan ku eegno isticmaalkooda tusaalayaal:
[int]$test = 100
if ($test -eq 100) {
Write-Host "test = 100"
}
[int]$test = 50
if ($test -eq 100) {
Write-Host "test = 100"
}
else {
Write-Host "test <> 100"
}
[int]$test = 10
if ($test -eq 100) {
Write-Host "test = 100"
}
elseif ($test -gt 100) {
Write-Host "test > 100"
}
else {
Write-Host "test < 100"
}
[int]$test = 5
switch ($test) {
0 {Write-Host "test = 0"}
1 {Write-Host "test = 1"}
2 {Write-Host "test = 2"}
3 {Write-Host "test = 3"}
4 {Write-Host "test = 4"}
5 {Write-Host "test = 5"}
default {Write-Host "test > 5 ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ"}
}
Wareegtada
PowerShell waxay leedahay dhawr nooc oo siddo: WHILE, DO WHILE, SAME ILAA, FOREACH, FOREACH.
Loop leh shuruudo horudhac ah ayaa shaqeeya haddii/ilaa inta ay run tahay:
[int]$test = 0
while ($test -lt 10) {
Write-Host $test
$test = $test + 1
}
Loops leh xaalad dib ayaa socon doona ugu yaraan hal mar, sababtoo ah xaalada waxaa la hubiyaa ka dib soo celinta. Isla markaana, SAMEE INTA UU SHAQEEYO iyadoo xaaladdu ay run tahay, oo ILAA UU shaqeeyo inta ay been tahay:
[int]$test = 0
do {
Write-Host $test
$test = $test + 1
}
while ($test -lt 10)
[int]$test = 0
do {
Write-Host $test
$test = $test + 1
}
until ($test -gt 9)
Tirada soo noqnoqda ee loop-ka FOR waa hore loo yaqaan:
for ([int]$test = 0; $test -lt 10; $test++) {
Write-Host $test
}
Wareegga FOREACH, waxa uu ku celceliyaa cunsuriyada diyaarinta ama ururinta (miiska xashiishka):
$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
Write-Host $item
}
Habab
Doorsoomayaasha PowerShell ma kaydiyaan oo keliya shay (lambar, xadhig, iwm.), laakiin sidoo kale kuwo badan. Nooca ugu fudud ee doorsoomayaasha noocaas ah waa arrays. Array wuxuu ka koobnaan karaa dhowr walxood, hal curiye, ama madhan, i.. wax curiye ah kuma jiraan. Waxaa lagu dhawaaqay iyadoo la isticmaalayo @ () operator, kaas oo aan u baahan doonaa in maqaalka soo socda - aad bay muhiim u tahay in lagu daro arrays kale in array (abuurista multidimensional arrays), gudbinta arys in hawlaha sida dood, iyo hawlaha la mid ah:
$test_array = @() #ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²
Marka array la bilaabo, qiyamkeeda waxaa lagu taxay hakadyo (shaqaale gaar ah,):
$test_array = @(1, 2, 3, 4) # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Inta badan, hawlwadeenka @() waa laga saari karaa:
$test_array = 1, 2, 3, 4
Xaaladdan oo kale, soo koobid hal element ayaa loo bilaabay sida soo socota
$test_array = , 1
Cutubyo habaysan ayaa lagu gelayaa iyadoo la isticmaalayo index index eber-ku-salaysan iyo hawlwadeenka index-ka (lambarka labajibbaaran):
$test_array[0] = 1
Waxaad qeexi kartaa dhowr tusi oo ay kala soocaan hakad, oo ay ku jiraan. soo noqnoqda:
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]
Hawlwadeennada ..
(laba dhibcood - hawlwadeenka kala duwan) wuxuu soo celiyaa iskudubarid kala duwan oo ka mid ah xuduudaha sare iyo hoose ee la cayimay. Tusaale ahaan, tibaaxda 1..4 waxa ay soo saartaa afar walxood @(1, 2, 3, 4), iyo tibaaxda 8..5 waxay soo saartaa array @ (8, 7, 6, 5).
Adigoo isticmaalaya wadayaasha kala duwan, waxaad bilaabi kartaa array ($test_array = 1..4) ama waxaad heli kartaa jeex (jeex), ie. isku xigxiga xubno ka mid ah array leh index ka mid kale. Xaaladdan oo kale, lambarka taban -1 wuxuu tilmaamayaa qaybta ugu dambeysa ee array, -2 - midka ugu sarreeya, iyo wixii la mid ah.
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]
Ogsoonow in qiyamka isku xidhka isku xidhka ahi uu ka weynaan karo qiimaha tusaha ugu badan ee xogta. Xaaladdan oo kale, dhammaan qiyamka waxaa lagu soo celiyaa kii u dambeeyay:
$test_array[0..100]
Haddii aad isku daydo inaad gasho hal unug oo isku xidha oo aan jirin, $null waa la soo celinayaa.
Gudaha PowerShell, arysyadu waxay ka koobnaan karaan walxo noocyo kala duwan ah ama si adag ayaa loo qori karaa:
$test_array = 1, 2, "ΡΠ΅ΡΡ", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
Write-Host $test_array[$i]
}
Halka $test_array.count hantida ay tahay tirada curiyeyaasha soo koobay.
Tusaalaha samaynta array si adag loo qoray:
[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Miisaska xashiishka
Nooc kale oo aasaasi ah oo doorsoomayaal ah oo ku jira luqadda PowerShell waa miisaska xashiishka, oo sidoo kale loo yaqaan arrays associative. Xashiishadaha ayaa la mid ah walxaha JSON waxaana lagu dhisay saldhig-qiimo muhiim ah. Si ka duwan noocyada caadiga ah, curiyayaasha ay helaan furayaasha magacaaban, kuwaas oo ah sifooyinka shayga (waxaad sidoo kale isticmaali kartaa hawlwadeenka index - brackets square).
Miis xashiish ah oo madhan ayaa lagu dhawaaqay iyadoo la isticmaalayo summada @ iyo xidhmooyinka hawlwadeenka:
$test_hashtable = @{}
Markaad ku dhawaaqayso, waxaad isla markiiba abuuri kartaa furayaasha oo aad u qoondayn kartaa qiyamka iyaga:
$test_hashtable = @{one="ΠΎΠ΄ΠΈΠ½"; two="Π΄Π²Π°"; three="ΡΡΠΈ"; "some key"="some value"}
Si aad shay ugu darto miiska xashiishka, waa in aad meel saartaa fure aan wali jirin, ama isticmaal habka Kudar (). Haddii meelayn lagu sameeyo furaha jira, qiimihiisu wuu isbedeli doonaa. Habka Ka saar() waxa loo isticmaalaa in laga saaro curiyaha miiska xashiishka.
$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "ΡΠ΅ΡΡΡΠ΅")
$test_hashtable.five = "ΠΏΡΡΡ"
$test_hashtable['five'] = "Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"
$test_hashtable.Remove("one")
Kala duwanaanshaha noocaan ah waxaa loo gudbin karaa doodaha shaqooyinka iyo cmdlets - maqaalka soo socda waxaan ku baran doonaa sida tan loo sameeyo, iyo sidoo kale tixgelin nooc kale oo la mid ah - PSCustomObject.
Functions
PowerShell waxa ay haysataa wax kasta oo aad uga baahan tahay barnaamij hab-socodka, oo ay ku jiraan hawlaha. Si loo qeexo iyaga, ereyga shaqada ayaa la isticmaalaa, ka dib markaa waxaad u baahan tahay inaad qeexdo magaca shaqada iyo jidhka ku xiran xirmooyinka hawlwadeenka. Haddii aad u baahan tahay inaad u gudbiso doodaha shaqada, waxaad isla markiiba u cayimi kartaa magaca qawlka.
function ΠΈΠΌΡ-ΡΡΠ½ΠΊΡΠΈΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½Ρ1, ..., Π°ΡΠ³ΡΠΌΠ΅Π½ΡN)
{
ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ
}
Shaqadu had iyo jeer waxay soo celisaa natiijo - waa qaabaynta natiijooyinka dhammaan odhaahdeeda, haddii ay jiraan wax ka badan hal. Haddii uu jiro hal bayaan, qiimaha kaliya ee nooca u dhigma waa la soo celinayaa. Soo celinta $qiimaha dhismuhu wuxuu ku darayaa shay leh qiimaha $qiimaha soo diyaarinta natiijada wuxuuna meesha ka saarayaa fulinta liiska bayaanka, shaqada madhanna waxay soo celinaysaa $null.
Tusaale ahaan, aynu u abuurno shaqo isku-duubnida tiro:
function sqr ($number)
{
return $number * $number
}
Ogsoonow in jirka shaqada, aad isticmaali karto doorsoomayaal kasta oo lagu dhawaaqo ka hor inta aanad wicin, iyo hawlaha wacitaanka ee PowerShell waxay u ekaan karaan wax aan caadi ahayn: doodaha (haddii ay jiraan) kuma jiraan jaantusyo waxaana kala soocay meelo bannaan.
sqr 2
ama sidaas
sqr -number 2
Sababtoo ah habka doodaha loo gudbiyo, shaqada lafteedu waxay mararka qaarkood u baahan tahay in lagu soo daro khaanad:
function test_func ($n) {}
test_func -eq $null # ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ
(test_func) -eq $null # ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β $true
Markaad sharraxayso hawl, waxaad ku meelayn kartaa qiyamka caadiga ah doodaha:
function func ($arg = value) {
#ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ
}
Waxaa jira syntax kale oo lagu qeexayo doodaha shaqada, marka lagu daro, xuduudaha waxaa laga akhrisan karaa dhuumaha - waxaas oo dhan waxay ku iman doonaan anfaca maqaalka soo socda, marka aan eegno modules dhoofinta iyo abuurista cmdlets noo gaar ah.
Khalad habaynta
PowerShell waxay leedahay isku day Isku day block waxa uu ka kooban yahay koodka uu khaladku ku iman karo, block-ga qabashaduna waxa ku jira maamuleheeda. Haddii aanu khalad jirin, lama fuliyo. Qeybta ugu danbeysa waxaa lafuliyaa ka dib isku day block, iyadoon loo eegin dhacdada qaladka, waxaana jiri kara dhowr blocks oo kala duwan oo ka reeban. Marka laga reebo lafteedu waxa loo qoraa doorsoomayaal hore oo aan la shaacin ($_) oo si fudud ayaa loo soo saari karaa. Tusaalaha hoose, waxaanu hirgelinaynaa ka-hortagga gelitaanka qiime aan shaqaynayn:
try {
[int]$test = Read-Host "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ"
100 / $test
} catch {
Write-Warning "ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ"
Write-Host $_
}
Tani waxay soo gabagabaynaysaa dib u eegista aasaasiga ah ee barnaamijyada luqadda PowerShell. Maqaallada soo socda, waxaanu si faahfaahsan u baran doonaa la shaqaynta doorsoomayaasha noocyada kala duwan, ururinta, tibaaxaha caadiga ah, abuurista hawlo, modules iyo cmdlets caadada, iyo sidoo kale barnaamijyada shayga.
Source: www.habr.com