Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Kwa kihistoria, huduma za mstari wa amri kwenye mifumo ya Unix zinaendelezwa vizuri zaidi kuliko Windows, lakini kwa ujio wa suluhisho jipya, hali imebadilika.

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

PowerShell inaweza kuandikwa katika lugha iliyotafsiriwa, yenye dhana nyingi ambayo ina vipengele vya utaratibu wa kawaida, unaolenga kitu, na hata utendakazi wa programu: matawi ya masharti, vitanzi, vigeu, safu, jedwali la hashi, madarasa, kushughulikia makosa, na vile vile utendakazi, cmdlets, na mabomba . Makala iliyopita ilijitolea kwa misingi ya kufanya kazi katika mazingira, na sasa tunawapa wasomaji wetu kitabu kidogo cha kumbukumbu kwa watengeneza programu.

Jedwali la Yaliyomo:

Maoni
Vigezo na aina zao
Vigezo vya mfumo
Mawanda
Vigezo vya mazingira (mazingira)
Waendeshaji hesabu na kulinganisha
Waendeshaji kazi
Waendeshaji wa kimantiki
Rukia kwa Masharti
Mizunguko
Safu
Meza za hashi
Kazi
Hitilafu katika kuchakata

Unaweza kuandika msimbo katika kihariri chochote cha maandishi au kutumia mazingira jumuishi ya ukuzaji - njia rahisi ni kuchukua Windows PowerShell ISE inayokuja na mifumo ya uendeshaji ya seva ya Microsoft. Hii ni muhimu kwa hati ngumu tu: seti fupi za amri ni rahisi kutekeleza kwa maingiliano.

Maoni

Kutumia maoni kunachukuliwa kuwa sehemu ya mtindo mzuri wa programu pamoja na ujongezaji sahihi na nafasi nyeupe:

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

<# 

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

#>

Vigezo na aina zao

Vigezo katika PowerShell vinaitwa vitu. Majina yao yanaweza kujumuisha herufi ya chini, pamoja na herufi na nambari. Alama ya $ inatumika kila wakati kabla ya jina, na kutangaza kutofautisha, inatosha kumpa mfasiri jina halali:

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Ili kuanzisha kutofautisha (kuipa thamani), opereta wa mgawo (ishara =) hutumiwa:

$test = 100

Unaweza kutangaza kigezo kwa kubainisha aina yake katika mabano ya mraba (aina ya opereta ya kutuma) kabla ya jina au thamani:

[int]$test = 100

$test = [int]100

Ni muhimu kuelewa kwamba vigezo katika PowerShell ni vitu vilivyojaa (madarasa) na mali na mbinu ambazo aina zake zinatokana na zile zilizo katika .NET Core. Tunaorodhesha zile kuu:

Andika (.NET darasa)

Description

Mfano wa kanuni

[string] System.String

Mfuatano wa Unicode 

$test = "mtihani"
$test = 'mtihani'

[char]System.Char

herufi ya Unicode (biti 16)

[char]$test = 'c'

[bool] System.Boolean

aina ya boolean (boolean Kweli au Uongo)

[bool]$test = $true

[int] System.Int32

thelathini na mbili kamili (biti 32)

[int]$mtihani = 123456789

[muda mrefu] System.Int64

biti sitini na nne (biti 64)

[muda] $test = 12345678910

[single] System.Single

sehemu ya kuelea yenye urefu wa biti 32

[single]$ mtihani = 12345.6789

[mara mbili]Mfumo.Mbili

nambari ya sehemu inayoelea ya urefu wa biti 64 (baiti 8)

[mara mbili] $ mtihani = 123456789.101112

[desimali]Mfumo.Desimali

Nambari ya nukta 128-bit inayoelea (inahitajika kumalizia na d)

[desimali]mtihani wa $ = 12345.6789d

[DateTime]System.DateTime

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

$test = GetDate

[safu] System.Object[]

safu ambayo faharisi ya kipengele huanza saa 0

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

[hashtable] System.Collections.Hashtable

jedwali la hashi ni safu za ushirika zilizo na funguo zilizopewa jina, zilizojengwa kulingana na kanuni: @{key = "value"}

$test_hashtable = @{one="one"; mbili="mbili"; tatu="tatu"}

PowerShell inasaidia uongofu wa aina isiyo wazi, kwa kuongeza, aina ya kutofautiana inaweza kubadilishwa kwa kuruka (kwa mfano, kwa kutumia operator wa kazi), ikiwa haijainishwa kwa nguvu - katika kesi hii, mkalimani atatoa kosa. Unaweza kuamua aina ya kutofautisha kutoka kwa mfano uliopita kwa kupiga njia ya GetType():

$test.GetType().FullName

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Kuna idadi ya cmdlets kwa ajili ya kuendesha vigezo. Orodha yao katika fomu inayofaa inaonyeshwa kwa kutumia amri:

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

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Kuangalia vigeu vilivyotangazwa na maadili yao, unaweza kutumia cmdlet maalum:

Get-Variable | more

Njia hii inaonekana kuwa ngumu sana, ni rahisi zaidi kufanya kazi na vijiti kupitia waendeshaji au kwa kupata mali na njia zao moja kwa moja. Hata hivyo, cmdlets wana haki ya kuwepo kwa sababu hukuruhusu kuweka vigezo vingine vya ziada. Ni muhimu kuelewa kwamba vigezo vya mtumiaji hufafanuliwa tu ndani ya kipindi cha sasa. Wakati koni imefungwa au hati inaisha, hufutwa.

Vigezo vya mfumo

Mbali na yale yaliyotangazwa na mtumiaji, kuna vigezo vilivyojengewa ndani (mfumo) ambavyo havijafutwa baada ya kipindi cha sasa kuisha. Zimegawanywa katika aina mbili, wakati data ya hali ya PowerShell inahifadhiwa katika vijiti vya kiotomatiki ambavyo haviwezi kupewa maadili ya kiholela peke yao. Hizi ni pamoja na, kwa mfano, $PWD:

$PWD.Path

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Vigezo vya upendeleo vinahitajika ili kuhifadhi mapendeleo ya mtumiaji, maadili ambayo yanaweza kubadilishwa. Kwa mfano, kwa kutumia $ErrorActionPreference , mwitikio wa mkalimani wa amri kwa kutokea kwa hitilafu zisizo mbaya umewekwa.

Mbali na waendeshaji na cmdlets kwa ajili ya kupata vigezo alitangaza, kuna Variable: pseudo-accumulator. Unaweza kufanya kazi nayo kwa mlinganisho na anatoa zingine, na vigezo katika kesi hii vinafanana na vitu vya mfumo wa faili:

Get-ChildItem Variable: | more

au

ls Variable: | more

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Mawanda

Kwa vigezo katika PowerShell, kuna dhana ya upeo (Scope). Hatua ya upeo wa kimataifa (Global) inatumika kwa kikao chote cha sasa - inajumuisha, kwa mfano, vigezo vya mfumo. Vigezo vya ndani (vya Mitaa) vinapatikana tu katika wigo ambapo vilifafanuliwa: sema ndani ya chaguo la kukokotoa. Pia kuna dhana ya upeo wa hati (Script), lakini kwa amri za hati, kimsingi ni ya kawaida. Kwa chaguo-msingi, wakati wa kutangaza vigezo, hupewa upeo wa ndani, na kubadilisha hii, unahitaji kujenga maalum kama: $Global: variable = value.

Kwa mfano, kama hii:

$Global:test = 100

Vigezo vya mazingira (mazingira)

Hifadhi nyingine ya bandia, Env:, inapatikana kutoka PowerShell na inaweza kutumika kufikia vigezo vya mazingira. Wakati ganda linapoanza, hunakiliwa kutoka kwa mchakato wa mzazi (ambayo ni, kutoka kwa programu iliyoanzisha kikao cha sasa) na kawaida maadili yao ya awali ni sawa na maadili kwenye paneli ya kudhibiti. Kuangalia vigeu vya mazingira, tumia Get-ChildItem cmdlet au lakabu zake (lakabu): ls na dir.

dir Env:

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Vigezo hivi ni mlolongo wa ka (au wahusika, ikiwa unapenda), tafsiri ambayo inategemea tu programu inayotumia. cmdlets * -Variable haifanyi kazi na anuwai za mazingira. Ili kuzifikia, lazima utumie kiambishi awali cha kiendeshi:

$env:TEST = "Hello, World!"

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Waendeshaji hesabu na kulinganisha

PowerShell hutoa waendeshaji hesabu wafuatao: + (nyongeza), - (kutoa), * (zidisha), / (mgawanyiko), na% (modulo au modulo). Matokeo ya usemi wa hesabu hutathminiwa kutoka kushoto kwenda kulia kwa mujibu wa utaratibu unaokubalika kwa ujumla wa utendakazi, na mabano hutumiwa kupanga sehemu za usemi. Nafasi kati ya waendeshaji hazizingatiwi, hutumiwa tu kurahisisha kusoma. Opereta + pia huunganisha, na mwendeshaji * anarudia masharti. Ukijaribu kuongeza nambari kwenye mfuatano, itabadilishwa kuwa mfuatano. Kwa kuongezea, lugha ya PowerShell ina viendeshaji vingi vya kulinganisha ambavyo hutafuta mlinganisho kati ya maadili mawili na kurudisha boolean Kweli au Uongo:

Opereta

Description

Mfano wa kanuni

-eq

Sawa / Sawa (sawa na = au == katika lugha zingine)

$ mtihani = 100
$ mtihani -eq 123 

- ni

Sio sawa / Sio sawa (sawa na <> au !=)

$ mtihani = 100
$ mtihani -ne 123   

-gt

Kubwa kuliko / Zaidi (analog>)

$ mtihani = 100
$ mtihani -gt 123

-ge

Kubwa kuliko au sawa / Kubwa kuliko au sawa (sawa na >=)

$ mtihani = 100
$ mtihani -ge 123

-lt

Chini ya / Chini (sawa na <)

$ mtihani = 100
$ mtihani -lt 123  

-ya

Chini ya au sawa / Chini ya au sawa (sawa na <=)

$ mtihani = 100
$ mtihani -le 123

Kuna waendeshaji wengine sawa wanaokuruhusu, kwa mfano, kulinganisha mifuatano kulingana na kadi-mwitu au kutumia maneno ya kawaida ili kulinganisha na mchoro. Tutazifunika kwa undani katika makala zijazo. Alama <, > na = hazitumiki kwa kulinganisha kwa sababu zinatumika kwa madhumuni mengine.

Waendeshaji kazi

Mbali na waendeshaji wa kawaida =, kuna waendeshaji wengine wa kazi: +=, -=, *=, /= na%=. Wanabadilisha thamani kabla ya kazi. Waendeshaji wasio wa kawaida ++ na -, ambao huongeza au kupunguza thamani ya kutofautiana, hufanya kazi sawa - pia hutumika kwa waendeshaji wa kazi.

Waendeshaji wa kimantiki

Ulinganisho pekee hautoshi kuelezea hali ngumu. Unaweza kuandika misemo yoyote ya kimantiki kwa kutumia waendeshaji: -na, -au, -xor, -sio na! .. Zinafanya kazi kama katika lugha zingine za programu, wakati unaweza kutumia mabano kubainisha mpangilio wa tathmini:

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

-not (123 -gt 321) 

!(123 -gt 321)

Rukia kwa Masharti

Viendeshaji vya tawi katika PowerShell ni vya kawaida: IF(IF…ELSE, IF…ELSEIF…ELSE) na SWITCH. Wacha tuangalie matumizi yao na mifano:

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

Mizunguko

PowerShell ina aina kadhaa za vitanzi: WAKATI, FANYA WAKATI, FANYA MPAKA, KWA, na FOREACH.

Kitanzi kilicho na sharti hufanya kazi ikiwa/mradi ni kweli:

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

Loops na postcondition itafanya kazi angalau mara moja, kwa sababu hali inaangaliwa baada ya kurudia. Wakati huo huo, DO WHILE inafanya kazi wakati hali ni kweli, na FANYA MPAKA ifanye kazi wakati ni ya uwongo:

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

Idadi ya marudio ya kitanzi cha FOR inajulikana mapema:

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

Katika kitanzi cha FOREACH, inasisitiza juu ya vipengele vya safu au mkusanyiko (meza ya hashi):

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

Safu

Vigezo vya PowerShell huhifadhi sio vitu moja tu (nambari, kamba, nk), lakini pia nyingi. Aina rahisi zaidi ya vigezo vile ni safu. Safu inaweza kuwa na vipengele kadhaa, kipengele kimoja, au kuwa tupu, i.e. haina vipengele. Inatangazwa kwa kutumia @() opereta, ambayo tutahitaji katika makala inayofuata - ni muhimu sana kwa kuongeza safu zingine kwenye safu (kuunda safu nyingi), kupitisha safu kwa kazi kama hoja, na kazi zinazofanana:

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

Wakati safu imeanzishwa, maadili yake yameorodheshwa yakitenganishwa na koma (opereta maalum ,):

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

Katika hali nyingi, @() operator anaweza kuachwa:

$test_array = 1, 2, 3, 4

Katika kesi hii, safu ya kipengele kimoja huanzishwa kama ifuatavyo

$test_array = , 1

Vipengele vya safu hufikiwa kwa kutumia faharasa kamili yenye sifuri na kiendesha faharisi (mabano ya mraba):

$test_array[0] = 1

Unaweza kubainisha faharasa kadhaa zilizotenganishwa na koma, ikijumuisha. mara kwa mara:

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

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Opereta .. (nukta mbili - opereta wa masafa) hurejesha safu kamili ya nambari ndani ya mipaka iliyobainishwa ya juu na ya chini. Kwa mfano, usemi 1..4 hutoa safu ya vipengele vinne @(1, 2, 3, 4), na usemi 8..5 hutoa safu @(8, 7, 6, 5).

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Kwa kutumia kiendesha masafa, unaweza kuanzisha safu ($test_array = 1..4) au kupata kipande (kipande), i.e. mlolongo wa vipengele kutoka safu moja na fahirisi kutoka kwa nyingine. Katika kesi hii, nambari hasi -1 inaashiria kipengele cha mwisho cha safu, -2 - moja ya mwisho, na kadhalika.

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

Kumbuka kwamba thamani za mkusanyiko kamili zinaweza kuwa kubwa kuliko thamani ya juu zaidi ya faharasa ya safu ya data. Katika kesi hii, maadili yote yanarudishwa hadi ya mwisho:

$test_array[0..100]

Ukijaribu kufikia kipengee kimoja ambacho hakipo, $null itarejeshwa.

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Katika PowerShell, safu zinaweza kuwa na vitu vya aina tofauti au kuchapwa kwa nguvu:

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

Ambapo sifa ya $test_array.count ni idadi ya vipengele vya safu.

Mfano wa kuunda safu iliyochapwa sana:

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

Meza za hashi

Aina nyingine ya kimsingi ya viambajengo katika lugha ya PowerShell ni jedwali la hashi, pia hujulikana kama safu shirikishi. Hashtables ni sawa na vitu vya JSON na hujengwa kwa msingi wa thamani-msingi. Tofauti na safu za kawaida, vipengele vyao vinapatikana kwa funguo zilizoitwa, ambazo ni mali ya kitu (unaweza pia kutumia operator wa index - mabano ya mraba).

Jedwali tupu la heshi linatangazwa kwa kutumia alama ya @ na mabano ya opereta:

$test_hashtable = @{}

Wakati wa kutangaza, unaweza kuunda funguo mara moja na kuwapa maadili:

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

Ili kuongeza kipengee kwenye jedwali la hashi, lazima ukabidhi ufunguo ambao bado haupo, au utumie njia ya Ongeza (). Ikiwa kazi itafanywa kwa ufunguo uliopo, thamani yake itabadilika. Njia ya Remove() inatumika kuondoa kipengee kutoka kwa jedwali 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 ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Vigezo vya aina hii vinaweza kupitishwa kama hoja kwa kazi na cmdlets - katika makala inayofuata tutajifunza jinsi hii inafanywa, na pia tutazingatia aina nyingine sawa - PSCustomObject.

Kazi

PowerShell ina kila kitu unachohitaji kwa upangaji wa kiutaratibu, pamoja na vitendaji. Ili kuwaelezea, neno la kazi Kazi hutumiwa, baada ya hapo unahitaji kutaja jina la kazi na mwili uliofungwa kwenye mabano ya operator. Ikiwa unahitaji kupitisha hoja kwa kazi, unaweza kuzitaja mara moja baada ya jina kwenye mabano.

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

Kazi daima inarudi matokeo - ni safu ya matokeo ya taarifa zake zote, ikiwa kuna zaidi ya moja. Ikiwa kuna taarifa moja tu, thamani pekee ya aina inayolingana inarudishwa. Muundo wa return $value huongeza kipengee chenye thamani $value kwenye safu ya matokeo na kughairi utekelezaji wa orodha ya taarifa, na chaguo la kukokotoa tupu linarudisha $null.

Kwa mfano, wacha tuunde kitendakazi cha kuweka nambari:

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

Kumbuka kuwa katika muundo wa chaguo za kukokotoa, unaweza kutumia viambajengo vyovyote vilivyotangazwa kabla ya kuiita, na vitendaji vya kupiga simu katika PowerShell vinaweza kuonekana kuwa vya kawaida: hoja (ikiwa zipo) hazijaambatanishwa kwenye mabano na zimetenganishwa na nafasi.

sqr 2

au hivyo:

sqr -number 2

Kwa sababu ya jinsi hoja zinavyopitishwa, kitendakazi chenyewe wakati mwingine kinahitaji kuambatanishwa kwenye mabano:

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

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Wakati wa kuelezea chaguo, unaweza kugawa maadili chaguo-msingi kwa hoja:

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

Kuna syntax nyingine ya kuelezea hoja za kazi, kwa kuongeza, vigezo vinaweza kusomwa kutoka kwa bomba - yote haya yatakuja kwa manufaa katika makala inayofuata, tunapoangalia moduli zilizosafirishwa na kuunda cmdlets zetu wenyewe.

Hitilafu katika kuchakata

PowerShell ina Jaribu...Catch...Hatimaye utaratibu wa kushughulikia vighairi. Kizuizi cha Jaribu kina msimbo ambamo hitilafu inaweza kutokea, na Kizuizi cha Catch kina kidhibiti chake. Ikiwa hakukuwa na hitilafu, haijatekelezwa. Kizuizi cha Mwisho kinatekelezwa baada ya Kizuizi cha Jaribu, bila kujali kutokea kwa hitilafu, na kunaweza kuwa na vizuizi kadhaa vya Kukamata kwa aina tofauti za vighairi. Isipokuwa yenyewe imeandikwa kwa kigezo chaguo-msingi ambacho hakijatangazwa ($_) na kinaweza kupatikana tena kwa urahisi. Katika mfano ulio hapa chini, tunatekeleza ulinzi dhidi ya kuingiza thamani batili:

try {

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

} catch {

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

}

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Hii inahitimisha ukaguzi wa misingi ya programu katika lugha ya PowerShell. Katika makala zifuatazo, tutajifunza kwa undani zaidi kufanya kazi na vigezo vya aina tofauti, makusanyo, maneno ya kawaida, kuunda kazi, modules na cmdlets desturi, pamoja na programu-oriented kitu.

Windows PowerShell ni nini na inaliwa na nini? Sehemu ya 2: Utangulizi wa lugha ya programu

Chanzo: mapenzi.com

Kuongeza maoni