Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

M'mbiri, zida zamalamulo pamakina a Unix zimapangidwa bwino kuposa pa Windows, koma pobwera yankho latsopano, zinthu zasintha.

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

PowerShell imatha kulembedwa m'chilankhulo chotanthauziridwa, chamitundu yambiri chomwe chili ndi zinthu zakale, zotsata zinthu, komanso zogwira ntchito: nthambi zokhazikika, malupu, zosinthika, masanjidwe, matebulo a hashi, makalasi, kuwongolera zolakwika, komanso ntchito, cmdlets, ndi mapaipi. Nkhani yapita anali odzipereka ku zofunikira zogwirira ntchito zachilengedwe, ndipo tsopano timapereka owerenga athu kabuku kakang'ono ka olemba mapulogalamu.

M'ndandanda wazopezekamo:

Comments
Zosintha ndi mitundu yawo
Zosintha zadongosolo
Zokwanira
Zosintha zachilengedwe
Ogwiritsa ntchito masamu ndi ofananitsa
Ogwira ntchito
Ogwira ntchito zomveka
Conditional Jump
Zozungulira
Mipikisano
Matebulo a hashi
Ntchito
Kukonza zolakwika

Mutha kulemba kachidindo muzolemba zilizonse kapena kugwiritsa ntchito malo ophatikizika otukuka - njira yosavuta ndiyotenga Windows PowerShell ISE yomwe imabwera ndi makina ogwiritsira ntchito seva ya Microsoft. Izi ndizofunika pazolemba zovuta kwambiri: ma seti afupikitsa a malamulo ndiosavuta kutsata molumikizana.

Comments

Kugwiritsa ntchito ndemanga kumaonedwa kuti ndi gawo lamayendedwe abwino komanso ma indentation oyenera ndi malo oyera:

# Для строчных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠΈ β€” содСрТимоС строки ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚.

<# 

       Π’Π°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ коммСнтария. 
       Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ тСкст ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚.

#>

Zosintha ndi mitundu yawo

Zosintha mu PowerShell zimatchedwa zinthu. Mayina awo amatha kukhala ndi zilembo zapansipansi, komanso zilembo ndi manambala. Chizindikiro cha $ chimagwiritsidwa ntchito nthawi zonse dzina lisanachitike, ndipo kulengeza kusinthika, ndikokwanira kupereka womasulira dzina lovomerezeka:

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Kuti muyambe kusintha (kugawa mtengo kwa izo), wogwira ntchitoyo (chizindikiro =) amagwiritsidwa ntchito:

$test = 100

Mutha kulengeza zosinthika pofotokoza mtundu wake m'mabulaketi apakati (mtundu wa casting operator) pamaso pa dzina kapena mtengo:

[int]$test = 100

$test = [int]100

Ndikofunika kumvetsetsa kuti zosinthika mu PowerShell ndi zinthu zonse (makalasi) okhala ndi katundu ndi njira zomwe mitundu yake imachokera ku .NET Core. Timalemba zazikuluzikulu:

Lembani (.NET kalasi)

mafotokozedwe

Kodi Chitsanzo

[chingwe] System.String

Unicode chingwe 

$ mayeso = "mayesero"
$ test = 'test'

[char]System.Char

Unicode zilembo (16 bits)

[char]$test = 'c'

[bool] System.Boolean

mtundu wa boolean (boolean True or False)

[bool]$ kuyesa = $zoona

[int] System.Int32

makumi atatu ndi awiri (32 bits)

[int]$kuyesa = 123456789

[yaitali] System.Int64

makumi asanu ndi limodzi mphambu anayi (64 bits)

[kutalika]$kuyesa = 12345678910

[Single] System.Single

nambala yoyandama ya 32 bits kutalika

[osakwatira] $ mayeso = 12345.6789

[kawiri]Dongosolo.Kawiri

nambala yoyandama yautali 64 bits (8 bytes)

[kawiri] $ mayeso = 123456789.101112

[decimal] System.Decimal

128-bit nambala yoyandama (yofunika kutha ndi d)

[decimal]$ test = 12345.6789d

[DateTime]System.DateTime

Π΄Π°Ρ‚Π° ndi врСмя 

$ mayeso = GetDate

[gulu] System.Object[]

gulu lomwe index yake imayambira pa 0

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

[hashtable] System.Collections.Hashtable

matebulo a hashi ndi magulu ophatikizana okhala ndi makiyi otchulidwa, omangidwa molingana ndi mfundo: @{key = "value"}

$test_hashtable = @{one="mmodzi"; awiri = "awiri"; atatu = "atatu"}

PowerShell imathandizira kutembenuka kwamtundu wokhazikika, kuphatikizanso, mtundu wa zosinthika ukhoza kusinthidwa pa ntchentche (mwachitsanzo, pogwiritsa ntchito woperekera ntchito), ngati sizinatchulidwe mokakamiza - pakadali pano, womasulira apereka cholakwika. Mutha kudziwa mtundu wa zosinthika kuchokera pachitsanzo cham'mbuyomu poyimbira njira ya GetType():

$test.GetType().FullName

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Pali ma cmdlets angapo osinthira zosintha. Mndandanda wawo mu mawonekedwe osavuta ukuwonetsedwa pogwiritsa ntchito lamulo:

Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Kuti muwone zosintha zomwe zalengezedwa ndi mayendedwe ake, mutha kugwiritsa ntchito cmdlet yapadera:

Get-Variable | more

Njirayi ikuwoneka ngati yovuta kwambiri; ndikosavuta kwambiri kugwira ntchito ndi zosintha kudzera mwa ogwiritsa ntchito kapena kupeza katundu ndi njira zawo mwachindunji. Komabe, ma cmdlets ali ndi malo awo chifukwa amakulolani kukhazikitsa zina zowonjezera. Ndikofunika kumvetsetsa kuti zosintha za ogwiritsa ntchito zimatanthauzidwa mkati mwa gawo lomwe lilipo. Konsoliyo ikatsekedwa kapena script ikamaliza, amachotsedwa.

Zosintha zadongosolo

Kuphatikiza pa zomwe zalengezedwa ndi wogwiritsa ntchito, pali zosinthika (zadongosolo) zomwe sizimachotsedwa pambuyo pa gawo lapano. Amagawidwa m'mitundu iwiri, pomwe zidziwitso za boma la PowerShell zimasungidwa pazosintha zokha zomwe sizingagawidwe pawokha. Izi zikuphatikiza, mwachitsanzo, $PWD:

$PWD.Path

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Zosintha zomwe mumakonda zimafunikira kuti musunge zomwe amakonda, zomwe zingasinthidwe. Mwachitsanzo, pogwiritsa ntchito $ErrorActionPreference , momwe womasulira amachitira pakachitika zolakwika zosapha amayikidwa.

Kuphatikiza pa ogwiritsa ntchito ndi ma cmdlets kuti mupeze zosintha zomwe zalengezedwa, pali Zosintha: pseudo-accumulator. Mutha kugwira nawo ntchito pofananiza ndi ma drive ena, ndipo zosintha pankhaniyi zikufanana ndi zinthu zamafayilo:

Get-ChildItem Variable: | more

kapena

ls Variable: | more

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Zokwanira

Pazosintha mu PowerShell, pali lingaliro la kukula (Scope). Zochita zapadziko lonse lapansi (Global) zimagwira ntchito pagawo lonse lapano - limaphatikizapo, mwachitsanzo, zosintha zamakina. Zosintha zam'deralo (Zam'deralo) zimapezeka pokhapokha pomwe zidafotokozedwa: nenani mkati mwa ntchito. Palinso lingaliro la kukula kwa script (Script), koma kwa malamulo a script, ndilokhazikika. Mwachikhazikitso, polengeza zosintha, amapatsidwa malo akumaloko, ndipo kuti musinthe izi, mukufunikira kumanga kwapadera monga: $Global: variable = value.

Mwachitsanzo, monga chonchi:

$Global:test = 100

Zosintha zachilengedwe

Wina pseudo-drive, Env:, ikupezeka kuchokera ku PowerShell ndipo ingagwiritsidwe ntchito kupeza zosintha zachilengedwe. Chipolopolo chikayamba, amakopera kuchokera kumayendedwe a makolo (ndiko kuti, kuchokera ku pulogalamu yomwe idayambitsa gawoli) ndipo nthawi zambiri zoyambira zawo zimakhala zofanana ndi zomwe zili mugulu lowongolera. Kuti muwone kusintha kwa chilengedwe, gwiritsani ntchito Get-ChildItem cmdlet kapena zilembo zake (zina): ls ndi dir.

dir Env:

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Zosinthazi ndizotsatira za ma byte (kapena zilembo, ngati mukufuna), kutanthauzira kwake kumangotengera pulogalamu yomwe akuzigwiritsa ntchito. Ma * -Variable cmdlets sagwira ntchito ndi zosintha zachilengedwe. Kuti muwapeze, muyenera kugwiritsa ntchito prefix ya drive:

$env:TEST = "Hello, World!"

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Ogwiritsa ntchito masamu ndi ofananitsa

PowerShell imapereka ogwiritsa ntchito masamu awa: + (kuwonjezera), - (kuchotsa), * (chulukitsani), / (kugawa), ndi % (modulo kapena modulo). Zotsatira za masamu amawunikidwa kuchokera kumanzere kupita kumanja mogwirizana ndi dongosolo lovomerezeka la kachitidwe ka ntchito, ndipo mapologalamu amagwiritsidwa ntchito kuyika mbali za mawuwo. Mipata pakati pa ogwira ntchito imanyalanyazidwa, amagwiritsidwa ntchito pokhapokha kuti zikhale zosavuta kuwerenga. Wogwiritsa ntchito + amaphatikizanso, ndipo * wogwiritsa ntchito amabwereza zingwe. Ngati muyesa kuwonjezera nambala ku chingwe, idzasinthidwa kukhala chingwe. Kuphatikiza apo, chilankhulo cha PowerShell chili ndi ogwiritsa ntchito ambiri ofananiza omwe amayang'ana machesi pakati pa zinthu ziwiri ndikubwezeretsa boolean Zoona kapena Zonama:

Woyendetsa

mafotokozedwe

Kodi Chitsanzo

-eq

Zofanana / Zofanana (zofanana ndi = kapena == m'zinenero zina)

$ mayeso = 100
$ mayeso -eq 123 

-ine

Osafanana / Osafanana (ofanana ndi <> kapena !=)

$ mayeso = 100
$ mayeso -ne 123   

-gt

Kuposa / Zambiri (analogue>)

$ mayeso = 100
$ mayeso -gt 123

-ge

Chachikulu kuposa kapena chofanana / Chachikulu kuposa kapena chofanana (chofanana ndi >=)

$ mayeso = 100
$ mayeso -ge 123

-lt

Pang'ono / Pang'ono (zofanana ndi <)

$ mayeso = 100
$ mayeso -lt 123  

-ndizo

Ochepera kapena ofanana / Ochepera kapena ofanana (ofanana ndi <=)

$ mayeso = 100
$ mayeso -le 123

Palinso othandizira ena ofanana omwe amakulolani, mwachitsanzo, kufananiza zingwe zochokera ku wildcard kapena kugwiritsa ntchito mawu okhazikika kuti mufanane ndi chitsanzo. Tidzawafotokoza mwatsatanetsatane m’nkhani zamtsogolo. Zizindikiro <,> ndi = sizigwiritsidwa ntchito poyerekeza chifukwa zimagwiritsidwa ntchito pazinthu zina.

Ogwira ntchito

Kuphatikiza pa = wogwiritsa ntchito, palinso ena ogwira ntchito: +=, -=, *=, /= ndi%=. Amasintha mtengo asanatumizidwe. Ogwiritsa ntchito osasintha ++ ndi -, omwe amachulukitsa kapena kuchepetsa mtengo wa kusintha, amachita chimodzimodzi - amagwiranso ntchito kwa ogwira ntchito.

Ogwira ntchito zomveka

Kuyerekezera kokha sikukwanira kufotokoza mikhalidwe yovuta. Mutha kulemba mawu aliwonse omveka bwino pogwiritsa ntchito ma opareta: -ndi, -or, -xor, -osati ndi!

("ВСст" -eq "ВСст") -and (100 -eq 100)

-not (123 -gt 321) 

!(123 -gt 321)

Conditional Jump

Ogwiritsa ntchito anthambi mu PowerShell ndi okhazikika: IF(IF…ELSE, IF…ELSEIF…ELSE) ndi SITCH. Tiyeni tiwone kugwiritsa ntchito kwawo ndi zitsanzo:

[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 ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ"}
}

Zozungulira

PowerShell ili ndi mitundu ingapo ya malupu: PAMENE, PITIRIZANI, PANGANI MPAKA, KWA, ndi FOREACH.

Lupu yokhala ndi precondition imagwira ntchito ngati / bola ngati ili yowona:

[int]$test = 0
while ($test -lt 10) {
      Write-Host $test
      $test = $test + 1
}

Malupu okhala ndi postcondition adzayenda kamodzi, chifukwa mkhalidwewo umayang'aniridwa pambuyo pobwereza. Nthawi yomweyo, PITIRIZANI NTCHITO pamene mkhalidwe uli wowona, ndipo PITIRIZANI MPAKA zikugwira ntchito pomwe zili zabodza:

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

Chiwerengero cha kubwereza kwa FOR loop chimadziwika pasadakhale:

for ([int]$test = 0; $test -lt 10; $test++) {
       Write-Host $test
}

Mu lupu ya FOREACH, imabwerezanso zinthu zingapo kapena zosonkhanitsira (tebulo la hashi):

$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
        Write-Host $item
}

Mipikisano

Zosintha za PowerShell sizisunga zinthu zokha (nambala, chingwe, ndi zina), komanso zingapo. Mtundu wosavuta wa zosinthika zotere ndi masanjidwe. Gulu likhoza kukhala ndi zinthu zingapo, chinthu chimodzi, kapena kukhala opanda kanthu, mwachitsanzo. mulibe maelementi. Imalengezedwa pogwiritsa ntchito @() woyendetsa, yomwe tidzafunika m'nkhani yotsatira - ndiyofunikira kwambiri pakuwonjezera magawo ena pamndandanda (kupanga ma multidimensional arrays), kudutsa magawo kuti azigwira ntchito ngati mkangano, ndi ntchito zofananira:

$test_array = @() #создаСм пустой массив

Gulu likayambika, zikhalidwe zake zimalembedwa mosiyanitsidwa ndi ma koma (wogwiritsa ntchito wapadera ,):

$test_array = @(1, 2, 3, 4) # создаСм массив ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… элСмСнтов 

Nthawi zambiri, wogwiritsa ntchito @() akhoza kuchotsedwa:

$test_array = 1, 2, 3, 4

Pankhaniyi, mndandanda wa chinthu chimodzi umayambitsidwa motere

$test_array = , 1

Zinthu zingapo zimafikiridwa pogwiritsa ntchito ziro-based integer index ndi index operator (mabulaketi sikweya):

$test_array[0] = 1

Mutha kutchula ma index angapo olekanitsidwa ndi koma, kuphatikiza. mobwerezabwereza:

$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "Ρ‚Ρ€ΠΈ", "Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Woyendetsa .. (madontho awiri - ogwiritsira ntchito osiyanasiyana) amabwezera mndandanda wa manambala mkati mwa malire otchulidwa pamwamba ndi apansi. Mwachitsanzo, mawu akuti 1..4 amatulutsa mndandanda wa zinthu zinayi @(1, 2, 3, 4), ndi mawu 8..5 amatulutsa gulu @(8, 7, 6, 5).

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Pogwiritsa ntchito opangira osiyanasiyana, mutha kuyambitsa gulu ($test_array = 1..4) kapena kupeza kagawo (kagawo), i.e. mndandanda wa zinthu kuchokera ku gulu limodzi lokhala ndi ma indices kuchokera ku lina. Pachifukwa ichi, nambala yolakwika - 1 imatanthawuza chinthu chomaliza cha gulu, -2 - chotsatira, ndi zina zotero.

$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "Ρ‚Ρ€ΠΈ", "Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]

Zindikirani kuti mitundu yonseyi imatha kukhala yayikulu kuposa kuchuluka kwamtundu wa data. Pankhaniyi, zikhalidwe zonse zimabwezeredwa mpaka womaliza:

$test_array[0..100]

Mukayesa kupeza gulu limodzi lomwe silinakhalepo, $null imabwezedwa.

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Mu PowerShell, magulu amatha kukhala ndi zinthu zamitundu yosiyanasiyana kapena kulembedwa mwamphamvu:

$test_array = 1, 2, "тСст", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
          Write-Host $test_array[$i]
}

Kumene $test_array.count katundu ndi chiwerengero cha zinthu zosiyanasiyana.

Chitsanzo cha kupanga gulu lotayidwa mwamphamvu:

[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Matebulo a hashi

Mtundu wina wofunikira wa chilankhulo cha PowerShell ndi matebulo a hashi, omwe amadziwikanso kuti associative arrays. Ma hashtables ndi ofanana ndi zinthu za JSON ndipo amamangidwa pamtengo wofunikira. Mosiyana ndi magulu wamba, zinthu zawo zimafikiridwa ndi makiyi otchulidwa, omwe ndi katundu wa chinthucho (mungagwiritsenso ntchito index operator - mabulaketi lalikulu).

Gome la hashi lopanda kanthu limalengezedwa pogwiritsa ntchito @ chizindikiro ndi mabulaketi oyendetsa:

$test_hashtable = @{}

Mukalengeza, mutha kupanga makiyi nthawi yomweyo ndikuwapatsa zofunika:

$test_hashtable = @{one="ΠΎΠ΄ΠΈΠ½"; two="Π΄Π²Π°"; three="Ρ‚Ρ€ΠΈ"; "some key"="some value"}

Kuti muwonjezere chinthu pa tebulo la hashi, muyenera kupatsa kiyi yomwe kulibe, kapena gwiritsani ntchito njira ya Add (). Ngati ntchito iperekedwa ku kiyi yomwe ilipo, mtengo wake udzasintha. Njira ya Remove() imagwiritsidwa ntchito kuchotsa chinthu patebulo la hashi.

$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅")
$test_hashtable.five = "ΠΏΡΡ‚ΡŒ"
$test_hashtable['five'] = "замСняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
$test_hashtable.Remove("one")

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Zosintha zamtunduwu zitha kuperekedwa ngati mikangano ku magwiridwe antchito ndi cmdlets - m'nkhani yotsatirayi tiphunzira momwe izi zimachitikira, ndikuganiziranso mtundu wina wofananira - PSCustomObject.

Ntchito

PowerShell ili ndi zonse zomwe mungafune pamapulogalamu amachitidwe, kuphatikiza ntchito. Kuti muwafotokozere, mawu ogwiritsira ntchito Function amagwiritsidwa ntchito, pambuyo pake muyenera kufotokoza dzina la ntchitoyo ndi thupi lomwe lili m'mabokosi ogwiritsira ntchito. Ngati mukufuna kupititsa mikangano ku ntchitoyo, mutha kufotokozera nthawi yomweyo dzinalo m'makolo.

function имя-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1, ..., Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚N) 
{ 
        Ρ‚Π΅Π»ΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 
} 

Ntchitoyi nthawi zonse imabweretsa zotsatira - ndi mndandanda wa zotsatira za mawu ake onse, ngati pali zambiri. Ngati pali chiganizo chimodzi chokha, mtengo wokhawo wa mtundu wofananawo umabwezedwa. Kubwereranso kwa $ value construct kumawonjezera chinthu chokhala ndi mtengo wa $ value pazotsatira zake ndikuchotsa kukwaniritsidwa kwa mndandanda wa mawu, ndipo ntchito yopanda kanthu imabwerera $ null.

Mwachitsanzo, tiyeni tipange ntchito yowerengera nambala:

function sqr ($number)
{
      return $number * $number
}

Zindikirani kuti m'thupi la ntchito, mutha kugwiritsa ntchito zosinthika zilizonse zomwe zalengezedwa musanayitane, ndipo ntchito zoyitanitsa mu PowerShell zitha kuwoneka zachilendo: zokangana (ngati zilipo) sizimangiriridwa m'makolo ndipo zimalekanitsidwa ndi mipata.

sqr 2

kapena monga izi:

sqr -number 2

Chifukwa cha momwe mikangano imadutsidwira, ntchitoyo nthawi zina iyenera kutsekedwa m'makolo:

function test_func ($n) {}
test_func -eq $null     # функция Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»Π°ΡΡŒ
(test_func) -eq $null   # Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выраТСния β€” $true

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Pofotokoza ntchito, mutha kugawira mikangano yosasinthika:

function func ($arg = value) {
         #Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
}

Palinso mawu ena ofotokozera kutsutsana kwa ntchito, kuwonjezera apo, magawo amatha kuwerengedwa kuchokera paipi - zonsezi zidzathandiza m'nkhani yotsatira, tikayang'ana ma modules omwe amatumizidwa kunja ndikupanga cmdlets athu.

Kukonza zolakwika

PowerShell ili ndi Yesani...Gwirani...Pomaliza njira yothanirana nazo. The Try block ili ndi code yomwe cholakwika chingachitike, ndipo Catch block ili ndi chogwirizira. Ngati palibe cholakwika, sichimachitidwa. The Last block imachitidwa pambuyo pa Try block, mosasamala kanthu kuti cholakwika chachitika, ndipo pakhoza kukhala ma block angapo a Catch blocks amitundu yosiyanasiyana. Kupatulapo komweko kumalembedwa ku mtundu wosasinthika ($ _) ndipo ukhoza kubwezedwa mosavuta. Muchitsanzo chomwe chili pansipa, tikhazikitsa chitetezo kuti tisalowe mumtengo wolakwika:

try {

        [int]$test = Read-Host "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число"
        100 / $test

} catch {

         Write-Warning "НСкоррСктноС число"
         Write-Host $_

}

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Izi zimamaliza kuwunikiranso zoyambira zamapulogalamu muchilankhulo cha PowerShell. M'nkhani zotsatirazi, tiphunzira mwatsatanetsatane kugwira ntchito ndi mitundu yosiyanasiyana, zosonkhanitsa, zowonetsera nthawi zonse, kupanga ntchito, ma modules ndi ma cmdlets, komanso mapulogalamu okhudzana ndi chinthu.

Windows PowerShell ndi chiyani ndipo imadyedwa ndi chiyani? Gawo 2: Chiyambi cha chilankhulo cha pulogalamu

Source: www.habr.com

Kuwonjezera ndemanga