Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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. Maqaal hore ayaa u heellan aasaaska ka shaqeynta deegaanka, hadda waxaan u soo bandhigeynaa akhristayaasha buug tixraac yar oo loogu talagalay barnaamijyada.

Shaxda tusmada:

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
Kala duwanaanshaha iyo noocyadooda
Doorsoomayaasha nidaamka
Baaxadda
Doorsoomayaasha deegaanka (deegaanka)
Hawlwadeennada xisaabaadka iyo isbarbardhigga
Hawl-wadeennada shaqada
Hawl -wadeennada macquulka ah
Bood shuruudaysan
Wareegtada
Habab
Miisaska xashiishka
Functions
Khalad habaynta

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:

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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. Xarig

Xadhiga Unicode 

$test = "imtixaan"
$test = 'imtixaan'

[char]Nidaamka.Char

Dabeecadda Unicode (16 bit)

[char]$tijaabo = 'c'

[bool] Nidaamka.Boolean

nooca boolean (Boolian Run ama Been)

[bool]$imtixaan = $ run

[int] Nidaamka.Int32

soddon iyo laba bit (32 bits)

[int]$imtixaan = 123456789

[dheer] Nidaamka.Int64

wadarta afar iyo lixdan (64 bits)

[dheer] $ imtixaan = 12345678910

[keli] Nidaamka. Single

barta sabaynaysa oo dhererkeedu yahay 32 bit

[hal]$ imtixaan = 12345.6789

[double]Nidaamka.Double

tirada barta sabaynaysa dhererkeeduna yahay 64bit (8 bytes)

[laba jeer] $imtixaan = 123456789.101112

[decimal]Nidaamka.Jajab

128-bit nambarka barta sabaynta (loo baahan yahay in lagu dhammeeyo d)

[ tobanle ]$imtixaan = 12345.6789d

[DateTime]System.DateTime

taariikhda iyo waqtiga 

$test = GetDate

[array] System. Shayga[]

array oo tusmihiisa curiye ka bilaabma 0

$test_array = 1, 2, "imtixaan", 3, 4

Nidaamka.Ururinta.Hashtable

miisaska 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

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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:

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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!"

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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]

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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).

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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")

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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 $_

}

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

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.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 2: Horudhaca luuqadda barnaamijka

Source: www.habr.com

Add a comment