Ngokwembali, izixhobo zomyalelo womyalelo kwiinkqubo ze-Unix ziphuhliswe ngcono kuneWindows, kodwa ngokufika kwesisombululo esitsha, imeko itshintshile.
I-PowerShell inokubhalwa ngolwimi olutolikwayo, oluneparadigm ezininzi ezinezinto zenkqubo yeklasikhi, ijolise kwinto, kunye nenkqubo esebenzayo: i-branching enemiqathango, iilophu, izinto eziguquguqukayo, ii-arrays, iitafile ze-hash, iiklasi, ukuphatha iimpazamo, kunye nemisebenzi, cmdlets, kunye nemibhobho.
Isiqulatho:
Ungabhala ikhowudi nakuwuphi na umhleli wombhalo okanye usebenzise imeko-bume ehlanganisiweyo yophuhliso-eyona ndlela ilula kukuthatha iWindows PowerShell ISE eza neenkqubo zokusebenza zeseva yeMicrosoft. Oku kuyimfuneko kuphela kwizikripti ezintsonkothileyo: iiseti ezimfutshane zemiyalelo zilula ukuphumeza ngokudibana.
izimvo
Ukusebenzisa amagqabantshintshi kuthathwa njengenxalenye yesimbo sokucwangcisa esilungileyo kunye ne-identation efanelekileyo kunye ne-whitespace:
# ΠΠ»Ρ ΡΡΡΠΎΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅ΡΠ΅ΡΠΊΠΈ β ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ.
<#
Π’Π°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ.
#>
Izinto eziguquguqukayo kunye neentlobo zazo
Uguquguquko kwi-PowerShell kuthiwa zizinto. Amagama abo angabandakanya umlinganiswa ongezantsi, kunye noonobumba kunye namanani. Isimboli ye-$ isoloko isetyenziswa phambi kwegama, kwaye ukubhengeza ukuguquguquka, kwanele ukunika itoliki igama elisebenzayo:
Ukuqalisa ukuguquguquka (ukunika ixabiso kuyo), umsebenzisi wesabelo (uphawu =) uyasetyenziswa:
$test = 100
Ungabhengeza ulwahlulo ngokukhankanya uhlobo lwayo kwizibiyeli ezisikweri (uhlobo lomsebenzi wokuphosa) phambi kwegama okanye ixabiso:
[int]$test = 100
$test = [int]100
Kubalulekile ukuqonda ukuba izinto eziguquguqukayo kwi-PowerShell zizinto ezizeleyo (iiklasi) ezineempawu kunye neendlela ezineentlobo ezisekelwe kwezo zikwi-.NET Core. Sidwelisa ezona ziphambili:
Chwetheza (.NET iklasi)
inkcazelo
Umzekelo wekhowudi
[Umtya] Inkqubo.UmtyaUmtya we-Unicode
$test = "uvavanyo"
$uvavanyo = 'uvavanyo'
Unobumba we-Unicode (16 bits)
[char]$test = 'c' [bool] Inkqubo.Booleanuhlobo lwe boolean (boolean Yinyani okanye Bubuxoki)
[bool] $test = $ true [int] System.Int32amanani angamashumi amathathu anesibini (32 bits)
[int] $test = 123456789 [inde] System.Int64amasuntswana amathandathu anesine (64 bits)
[ixesha elide] uvavanyo lwe-$ = 12345678910 [eyodwa] System.Enyeindawo edadayo inani lamasuntswana angama-32 ubude
[eyodwa] $ uvavanyo = 12345.6789 [kabini] Inkqubo.KabiniInani lendawo edadayo lobude obungamasuntswana angama-64 (iibhayithi ezisi-8)
[kabini] uvavanyo lwe-$ = 123456789.101112 [idesimali]Inkqubo.IdesimaliI-128-bit inombolo yenqaku elidadayo (elifunekayo ukuze iphele ngo-d)
[idesimali] $test = 12345.6789d [Umhla weXesha]System.DateTimeumhla kunye nexesha
Uvavanyo lwe-$ = GetDate
[Uluhlu] Inkqubo.Object[]uluhlu olusalathiso luqala ku-0
$test_array = 1, 2, "uvavanyo", 3, 4
[Hashtable] System.Collections.Hashtableiitafile zehash zizintlu ezidibanisayo ezinezitshixo ezinegama, ezakhiwe ngokomgaqo: @{isitshixo = "ixabiso"}
$test_hashtable = @ {one = "enye"; ezimbini = "ezimbini"; ezintathu="ntathu"}
I-PowerShell isekela ukuguqulwa kohlobo olucacileyo, ngaphezu koko, uhlobo lwenguqu lunokutshintshwa kwi-fly (umzekelo, usebenzisa umqhubi wesabelo), ukuba ayichazwanga ngenkani - kulo mzekelo, itoliki iya kunika impazamo. Ungamisela uhlobo loguqulo kumzekelo wangaphambili ngokubiza i-GetType () indlela:
$test.GetType().FullName
Kukho inani le-cmdlets zokuguqula iinguqu. Uluhlu lwabo ngendlela efanelekileyo luboniswa kusetyenziswa lo myalelo:
Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap
Ukujonga iinguqu ezichaziweyo kunye namaxabiso azo, ungasebenzisa i-cmdlet ekhethekileyo:
Get-Variable | more
Le ndlela ibonakala inzima kakhulu, kulungele ngakumbi ukusebenza kunye nezinto eziguquguqukayo ngokusebenzisa abaqhubi okanye ngokufikelela kwiipropati zabo kunye neendlela ngokuthe ngqo. Nangona kunjalo, ii-cmdlets zinelungelo lokubakho kuba zikuvumela ukuba usete iiparameters ezongezelelweyo. Kubalulekile ukuqonda ukuba ukuguquguquka komsebenzisi kuchazwa kuphela kwiseshoni yangoku. Xa i-console ivaliwe okanye i-script iphela, ziyacinywa.
Iinguqu zenkqubo
Ukongeza kwezo zibhengezwe ngumsebenzisi, kukho izinto ezakhelwe ngaphakathi (iinkqubo) ezingacinywanga emva kokuba iseshoni yangoku iphelile. Zahlulwe zaba zintlobo ezimbini, ngelixa idatha ye-PowerShell yelizwe igcinwa kwizinto ezizenzekelayo ezingenako ukunikezelwa amaxabiso angenasizathu ngokwabo. Ezi ziquka, umzekelo, i-$PWD:
$PWD.Path
Izinto ezikhethwayo ziyafuneka ukugcina izinto ozikhethayo, amaxabiso anokutshintshwa. Umzekelo, usebenzisa i-$ErrorActionPreference, impendulo yetoliki yomyalelo kwisenzeko seempazamo ezingezizo ezibulalayo isetiwe.
Ukongeza kubasebenzisi kunye ne-cmdlets yokufikelela kwizinto eziguquguqukayo ezichaziweyo, kukho i-Various: pseudo-accumulator. Unokusebenza nayo ngokufanisa nezinye iidrive, kwaye izinto eziguquguqukayo kulo mzekelo zifana nezinto zenkqubo yefayile:
Get-ChildItem Variable: | more
okanye
ls Variable: | more
Imida
Kwizinto eziguquguqukayo kwi-PowerShell, kukho ingqikelelo yobubanzi (Scope). Isenzo sobubanzi behlabathi (i-Global) sisebenza kuyo yonke iseshoni yangoku - ibandakanya, umzekelo, iinguqu zenkqubo. Iinguqu zasekuhlaleni (Ezasekuhlaleni) zifumaneka kuphela kumda apho zichazwe khona: yithi ngaphakathi komsebenzi. Kukwakho nombono womda weskripthi (Iskripthi), kodwa kwimiyalelo yeskripthi, iyindawo. Ngokungagqibekanga, xa ubhengeza iinguqu, zinikwa umda wendawo, kwaye ukutshintsha oku, udinga ukwakhiwa okukhethekileyo okufana ne: $ Global: variable = value.
Umzekelo, njengale:
$Global:test = 100
Izinto eziguquguqukayo zokusingqongileyo (indalo engqongileyo)
Enye i-pseudo-drive, i-Env:, iyafumaneka kwi-PowerShell kwaye ingasetyenziselwa ukufikelela kwizinto eziguquguqukayo zendalo. Xa iqokobhe liqala, zikhutshelwa kwinkqubo yomzali (oko kukuthi, kwinkqubo eqalise iseshoni yangoku) kwaye ngokwesiqhelo amaxabiso abo okuqala ayafana namaxabiso kwindawo yolawulo. Ukujonga izinto ezahlukeneyo zokusingqongileyo, sebenzisa i Get-ChildItem cmdlet okanye iziteketiso zayo (iziteketiso): ls kunye ne-dir.
dir Env:
Ezi ziguquguqukayo zilandelelwano lwee-bytes (okanye iimpawu, ukuba uyathanda), ukutolika okuxhomekeke kuphela kwinkqubo ezisebenzisayo. I * -Variable cmdlets ayisebenzi ngokuguquguquka kokusingqongileyo. Ukufikelela kuzo, kufuneka usebenzise isimaphambili sokuqhuba:
$env:TEST = "Hello, World!"
Abaqhubi be-arithmetic kunye nothelekiso
I-PowerShell ibonelela ngaba baqhubi be-arithmetic balandelayo: + (ukudibanisa), - (ukuthabatha), * (phinda-phinda), / (ukwahlula), kunye ne-% (modulo okanye imodyuli). Isiphumo sokuchazwa kwezibalo siyavandlakanywa ukusuka ekhohlo ukuya ekunene ngokungqinelana nocwangco oluvunyiweyo jikelele lwemisebenzi, kwaye izibiyeli zisetyenziselwa ukuhlanganisa iinxalenye zentetho. Izithuba phakathi kwabaqhubi azihoywa, zisetyenziselwa kuphela ukukhululeka kokuqonda. Umsebenzisi + ukwadibanisa, kwaye * umsebenzisi uphinda iintambo. Ukuba uzama ukongeza inani kumtya, liya kuguqulwa libe ngumtya. Ukongeza, baninzi abaqhubi abathelekisayo kwi-PowerShell abavavanya umdlalo phakathi kwamaxabiso amabini kwaye babuyisele i-boolean Yinyani okanye Bubuxoki:
Umqhubi
inkcazelo
Umzekelo wekhowudi
-eq
Iyalingana / Iyalingana (iyafana no = okanye == kwezinye iilwimi)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -eq 123
-yiyo
Ayilingani / Ayilingani (iyafana ne <> okanye !=)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -ne 123
-gt
Enkulu kune / Ngaphezulu (i-analogue>)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -gt 123
-ge
Mkhulu kuno okanye uyalingana / Mkhulu kuno okanye uyalingana (iyafana >=)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -ge 123
-lt
Ngaphantsi kwe / Ngaphantsi (iyafana ne <)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -lt 123
-i
Ngaphantsi okanye kuyalingana / Ngaphantsi okanye kuyalingana (iyafana <=)
Uvavanyo lwe-$ = 100
Uvavanyo lwe-$ -le 123
Kukho abanye abaqhubi abafanayo abakuvumela ukuba, umzekelo, uthelekise imitya esekelwe kwi-wildcard okanye usebenzise iintetho eziqhelekileyo ukuze utshatise ipateni. Siza kuzigubungela ngokweenkcukacha kumanqaku azayo. Iimpawu <,> kunye = azisetyenziselwanga ukuthelekisa kuba zisetyenziselwa ezinye iinjongo.
Abaqhubi bezabelo
Ukongeza kweyona iqhelekileyo = umsebenzisi, kukho abanye abasebenzi bezabelo: +=, -=, *=, /= kunye ne%=. Batshintsha ixabiso phambi kwesabelo. Abaqhubi abangaziwayo ++ kunye -, abanyusa okanye banciphisa ixabiso loguquko, baziphatha ngendlela efanayo - bayasebenza nakubasebenzisi bezabelo.
Abasebenza ngokuqiqayo
Ukuthelekisa kuphela akwanelanga ukuchaza iimeko ezinzima. Ungabhala naziphi na iintetho ezinengqiqo usebenzisa abasebenzi: -kunye, -okanye, -xor, -hayi kwaye!
("Π’Π΅ΡΡ" -eq "Π’Π΅ΡΡ") -and (100 -eq 100)
-not (123 -gt 321)
!(123 -gt 321)
Conditional Jump
Abasebenzisi besebe kwi-PowerShell basemgangathweni: IF(IF...ELSE, IFβ¦ELSEIFβ¦ELSE) kunye TSHINTSHA. Makhe sijonge ukusetyenziswa kwazo ngemizekelo:
[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 ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ"}
}
Imiqulu
I-PowerShell ineentlobo ezininzi zeelophu: NGELIXA, YENZA NGEXA, YENZA KUDE, NGENXA, kunye ne-FOREACH.
Iluphu enommiselo iyasebenza ukuba/ukuba nje iyinyani:
[int]$test = 0
while ($test -lt 10) {
Write-Host $test
$test = $test + 1
}
I-Loops ene-postcondition iya kuqhuba ubuncinane kanye, kuba imeko ihlolwe emva kokuphindaphinda. Kwangaxeshanye, YENZA NGEXA isebenza ngelixa imeko iyinyani, kwaye YENZA UDE isebenze ngelixa ibubuxoki:
[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)
Inani lokuphindaphinda kwe-F loop laziwa kwangaphambili:
for ([int]$test = 0; $test -lt 10; $test++) {
Write-Host $test
}
Kwi-loop FOREACH, iphinda-phinda ngaphezulu kwezinto zoluhlu okanye ingqokelela (itafile yehash):
$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
Write-Host $item
}
Ukufika
Izinto eziguquguqukayo ze-PowerShell azigcini kuphela izinto enye (inombolo, umtya, njl.), kodwa kunye nezininzi. Olona hlobo lulula lwezo ziguquguqukayo luluhlu. Uluhlu lunokuba neziqalelo ezininzi, isiqalelo esinye, okanye lungabi nanto, okt. ayinaziqalelo. Ibhengezwa kusetyenziswa i-@() umsebenzisi, esiya kuyidinga kwinqaku elilandelayo - kubaluleke kakhulu ekongezeni ezinye ii-arrays kuluhlu (ukudala uluhlu lwe-multidimensional), ukudlulisa uluhlu kwimisebenzi njengengxabano, kunye nemisebenzi efanayo:
$test_array = @() #ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²
Xa uluhlu luqalisiwe, amaxabiso alo adweliswe ngokwahlulwe ziikoma (umqhubi okhethekileyo,):
$test_array = @(1, 2, 3, 4) # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Kwiimeko ezininzi, @() umsebenzisi unokushiywa:
$test_array = 1, 2, 3, 4
Kule meko, uluhlu lwento enye luqaliswa ngolu hlobo lulandelayo
$test_array = , 1
Uluhlu lwezinto ziyafikelelwa kusetyenziswa isalathisi esipheleleyo esisekwe ku-zero kunye nomsebenzisi wesalathiso (izibiyeli zesikwere):
$test_array[0] = 1
Ungakhankanya izalathisi ezininzi ezahlulwe ngeekoma, ukuquka. phinda-phinda:
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]
Umqhubi ..
(amachaphaza amabini - umsebenzisi woluhlu) ubuyisela uluhlu lwamanani apheleleyo ngaphakathi kwemida ephezulu nasezantsi ekhankanyiweyo. Umzekelo, intetho 1..4 ivelisa uluhlu lwezinto ezine @(1, 2, 3, 4), kunye nentetha 8..5 ikhupha uluhlu @(8, 7, 6, 5).
Ukusebenzisa uluhlu lomsebenzi, unokuqalisa uluhlu ($test_array = 1..4) okanye ufumane isilayi (isiqwenga), i.e. Ulandelelwano lweziqalelo ukusuka kwelinye uluhlu kunye nezalathi ukusuka kwenye. Kule meko, inani elibi -1 libonisa into yokugqibela yoluhlu, -2 - i-penultimate, njalo njalo.
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]
Qaphela ukuba uluhlu olupheleleyo lwamaxabiso lunokuba likhulu kunelona xabiso liphezulu lesalathisi soluhlu lwedatha. Kule meko, onke amaxabiso abuyiselwa kwelokugqibela:
$test_array[0..100]
Ukuba uzama ukufikelela kwinto enye engekhoyo yoluhlu, i-$null iyabuyiswa.
Kwi-PowerShell, ii-arrays zinokuqulatha izinto zeentlobo ezahlukeneyo okanye zichwethezwe ngamandla:
$test_array = 1, 2, "ΡΠ΅ΡΡ", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
Write-Host $test_array[$i]
}
Apho ipropathi ye-$test_array.count linani leziqalelo zoluhlu.
Umzekelo wokudala uluhlu oluchwethezwe ngamandla:
[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Iitafile zeHash
Olunye uhlobo olusisiseko lokuguquguquka kwi-PowerShell ziitafile ze-hash, ezaziwa ngokuba zii-associative arrays. IiHashtables ziyafana nezinto ze-JSON kwaye zakhiwe kwisiseko sexabiso eliphambili. Ngokungafaniyo noluhlu oluqhelekileyo, izinto zabo zifikelelwa ngezitshixo ezibizwa ngokuba ziipropathi zento (ungasebenzisa kwakhona umqhubi wesalathisi - izibiyeli zesikwere).
Itafile yehashi engenanto ibhengezwa kusetyenziswa i @ isimboli kunye nezibiyeli zomsebenzisi:
$test_hashtable = @{}
Xa ubhengeza, unokwenza kwangoko izitshixo kwaye ubabele amaxabiso:
$test_hashtable = @{one="ΠΎΠ΄ΠΈΠ½"; two="Π΄Π²Π°"; three="ΡΡΠΈ"; "some key"="some value"}
Ukongeza into kwitafile yehash, kufuneka unikeze isitshixo esingekabikho kuyo, okanye usebenzise indlela Yongeza (). Ukuba isabelo senziwa kwisitshixo esikhoyo, ixabiso laso liya kutshintsha. Susa () indlela isetyenziselwa ukususa into kwitafile yehashi.
$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "ΡΠ΅ΡΡΡΠ΅")
$test_hashtable.five = "ΠΏΡΡΡ"
$test_hashtable['five'] = "Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"
$test_hashtable.Remove("one")
Iinguqu zolu hlobo zinokugqithiswa njengeengxabano kwimisebenzi kunye ne-cmdlets - kwinqaku elilandelayo siza kufunda ukuba kwenziwa njani oku, kwaye siqwalasele nolunye uhlobo olufanayo - PSCustomObject.
Imisebenzi
I-PowerShell inayo yonke into oyifunayo kwinkqubo yenkqubo, kuquka nemisebenzi. Ukuzichaza, igama lomsebenzi elithi Function lisetyenzisiwe, emva koko kufuneka uchaze igama lomsebenzi kunye nomzimba ofakwe kwizibiyeli zabaqhubi. Ukuba ufuna ukudlulisa iimpikiswano kumsebenzi, ungazikhankanya ngoko nangoko emva kwegama kwizibiyeli.
function ΠΈΠΌΡ-ΡΡΠ½ΠΊΡΠΈΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½Ρ1, ..., Π°ΡΠ³ΡΠΌΠ΅Π½ΡN)
{
ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ
}
Umsebenzi uhlala ubuyisela isiphumo - luluhlu lweziphumo zazo zonke iingxelo, ukuba kukho ngaphezu kwesinye. Ukuba kukho ingxelo enye kuphela, ixabiso lodwa lohlobo oluhambelanayo libuyiselwa. Imbuyekezo yexabiso lolwakhiwo lwe-$ yongeza into enexabiso lexabiso lexabiso kwisiphumo soluhlu kwaye itshitshise ukuphunyezwa koluhlu lwengxelo, kwaye umsebenzi ongenanto ubuyisela i-$ null.
Umzekelo, masenze umsebenzi wokuphinda-phinda inani:
function sqr ($number)
{
return $number * $number
}
Qaphela ukuba ungasebenzisa naziphi na iinguqu ezichazwe phambi kokubiza umsebenzi kumzimba womsebenzi, kwaye ukubiza imisebenzi kwi-PowerShell kunokubonakala kungaqhelekanga: iingxoxo (ukuba zikhona) azifakwanga kwizibiyeli kwaye zahlulwe zizithuba.
sqr 2
okanye kanje:
sqr -number 2
Ngenxa yendlela iingxoxo ezigqithiswa ngayo, umsebenzi ngokwawo ngamanye amaxesha ufuna ukufakwa kwizibiyeli:
function test_func ($n) {}
test_func -eq $null # ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ
(test_func) -eq $null # ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β $true
Xa uchaza umsebenzi, unganika amaxabiso angagqibekanga kwiingxoxo:
function func ($arg = value) {
#ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ
}
Kukho enye i-syntax yokuchaza iingxoxo zomsebenzi, ukongeza, iiparameters zinokufundwa kumbhobho - konke oku kuya kuba luncedo kwinqaku elilandelayo, xa sijonga iimodyuli ezithunyelwa ngaphandle kunye nokwenza ezethu i-cmdlets.
Uqhubekeko lwempazamo
I-PowerShell ineZama...Bamba...Ekugqibeleni indlela yokusingatha iimeko ezingaqhelekanga. Ibhloko yeZama iqulethe ikhowudi apho impazamo inokuthi yenzeke, kwaye ibhloko yokubamba iqulethe isibambi sayo. Ukuba bekungekho mpazamo, ayiphunyezwa. Ibhloko yokuGqibela iphunyezwa emva kwebhloko yeZama, nokuba kwenzeke ntoni na impazamo, kwaye kunokubakho iibhloko ezininzi zokubamba kwiindidi ezahlukeneyo zeemeko. Okungaphandle ngokwako kubhalwe kuguquguquko olungachazwanga olungachazwanga ($_) kwaye lunokufunyanwa lula. Kulo mzekelo ungezantsi, sisebenzisa ukhuseleko ekungeneni ixabiso elingasebenziyo:
try {
[int]$test = Read-Host "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ"
100 / $test
} catch {
Write-Warning "ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ"
Write-Host $_
}
Oku kuqukumbela uphononongo lweziseko zenkqubo kulwimi lwePowerShell. Kumanqaku alandelayo, siya kufunda ngokubanzi ngokusebenza ngokuguquguqukayo kweentlobo ezahlukeneyo, ukuqokelela, ukubonakaliswa rhoqo, ukudala imisebenzi, iimodyuli kunye ne-cmdlets yesiko, kunye neprogram ejoliswe kwizinto.
umthombo: www.habr.com