Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Itan-akọọlẹ, awọn ohun elo laini aṣẹ lori awọn eto Unix ti ni idagbasoke dara julọ ju lori Windows, ṣugbọn pẹlu dide ti ojutu tuntun, ipo naa ti yipada.

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

PowerShell le ṣe iwe afọwọkọ ni itumọ, ede-ọpọlọpọ-aworan ti o ni awọn eroja ti ilana ilana Ayebaye, ti o da lori ohun, ati paapaa siseto iṣẹ: ẹka ipo, awọn losiwajulosehin, awọn oniyipada, awọn akojọpọ, awọn tabili hash, awọn kilasi, mimu aṣiṣe, ati awọn iṣẹ ṣiṣe, cmdlets, ati pipeline. Akọsilẹ ti tẹlẹ ti yasọtọ si awọn ipilẹ ti ṣiṣẹ ni agbegbe, ati ni bayi a fun awọn oluka wa ni iwe itọkasi kekere fun awọn olupilẹṣẹ.

Atọka akoonu:

comments
Awọn oniyipada ati awọn iru wọn
Awọn iyatọ eto
Awọn aaye
Awọn oniyipada ayika (agbegbe)
Iṣiro ati lafiwe awọn oniṣẹ
Awọn oniṣẹ iṣẹ iyansilẹ
Mogbonwa awọn oniṣẹ
Ni majemu Jump
Awọn iyipo
Awọn abayọ
Hash tabili
Awọn iṣẹ
Ṣiṣe aṣiṣe

O le kọ koodu ni eyikeyi oluṣatunṣe ọrọ tabi lilo agbegbe idagbasoke iṣọpọ – ọna ti o rọrun julọ ni lati mu Windows PowerShell ISE ti o wa pẹlu awọn ọna ṣiṣe olupin Microsoft. Eyi jẹ pataki nikan fun awọn iwe afọwọkọ ti o ni idiwọn: awọn eto kukuru ti awọn aṣẹ jẹ rọrun lati ṣiṣẹ ni ibaraenisepo.

comments

Lilo awọn asọye jẹ apakan ti ara siseto to dara pẹlu indentation to dara ati aaye funfun:

# Для строчных комментариев используется символ решетки — содержимое строки интерпретатор не обрабатывает.

<# 

       Так обозначаются начало и конец блочного комментария. 
       Заключенный между ними текст интерпретатор игнорирует.

#>

Awọn oniyipada ati awọn iru wọn

Awọn oniyipada ni PowerShell jẹ awọn nkan ti a darukọ. Orukọ wọn le pẹlu ohun kikọ abẹlẹ, bakanna bi awọn lẹta ati awọn nọmba. Aami $ jẹ nigbagbogbo lo ṣaaju orukọ naa, ati lati sọ oniyipada kan, o to lati fun onitumọ ni orukọ to tọ:

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Lati bẹrẹ oniyipada kan (fi iye kan si i), oniṣẹ iṣẹ iyansilẹ (aami =) ti lo:

$test = 100

O le kede oniyipada nipa sisọ iru rẹ ni awọn biraketi onigun mẹrin (oriṣi oniṣẹ simẹnti) ṣaaju orukọ tabi iye:

[int]$test = 100

$test = [int]100

O ṣe pataki lati ni oye pe awọn oniyipada ni PowerShell jẹ awọn nkan ti o ni kikun (awọn kilasi) pẹlu awọn ohun-ini ati awọn ọna ti iru wọn da lori awọn ti o wa ninu .NET Core. A ṣe akojọ awọn akọkọ:

Iru (.NET kilasi)

Apejuwe

Apeere koodu

[okun] System.Okun

Unicode okun 

$idanwo = "idanwo"
$idanwo = 'idanwo'

[ẹya] System.Char

Ẹya Unicode (awọn ege 16)

[char]$idanwo = 'c'

[bool] System.Boolean

Iru boolean (Boolian Otitọ tabi Eke)

[bool] $ idanwo = $ otitọ

[int] System.Int32

odidi biiti mejilelogbon (32 die-die)

[int] $ idanwo = 123456789

[gun] System.Int64

odidi 64 bit (XNUMX bit)

[gun] $ igbeyewo = 12345678910

[nikan] System.Single

lilefoofo ojuami nọmba 32 die-die gun

[nikan] $ igbeyewo = 12345.6789

[ė] System.Double

Nọmba aaye lilefoofo ti ipari 64 awọn bit (awọn baiti 8)

[ė] $ igbeyewo = 123456789.101112

[desimal] System.Desimal

Nọmba aaye lilefoofo 128-bit (beere lati pari pẹlu d)

[desimal] $ igbeyewo = 12345.6789d

[DateTime]System.DateTime

ọjọ ati akoko 

$idanwo = GetDate

[orun] Eto.Ohun[]

orun ti atọka eroja rẹ bẹrẹ ni 0

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

[hashtable] System.Collections.Hashtable

awọn tabili hash jẹ awọn akojọpọ alajọṣepọ pẹlu awọn bọtini orukọ, ti a ṣe ni ibamu si ilana: @{key = "iye"}

$test_hashtable = @{one="ọkan"; meji = "meji"; mẹta = "mẹta"}

PowerShell ṣe atilẹyin iru iyipada ti ko tọ, ni afikun, iru oniyipada le yipada lori fifo (fun apẹẹrẹ, lilo oniṣẹ iṣẹ iyansilẹ), ti ko ba jẹ pato ni ipa - ninu ọran yii, onitumọ yoo fun aṣiṣe kan. O le pinnu iru oniyipada lati apẹẹrẹ ti tẹlẹ nipa pipe ọna GetType():

$test.GetType().FullName

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Awọn nọmba cmdlets lo wa fun ifọwọyi awọn oniyipada. Atokọ wọn ni fọọmu irọrun ti han nipa lilo aṣẹ:

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

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Lati wo awọn oniyipada ti a kede ati awọn iye wọn, o le lo cmdlet pataki kan:

Get-Variable | more

Ọna yii dabi ẹnipe o lewu pupọ, o rọrun pupọ diẹ sii lati ṣiṣẹ pẹlu awọn oniyipada nipasẹ awọn oniṣẹ tabi wọle si awọn ohun-ini wọn ati awọn ọna taara. Sibẹsibẹ, cmdlets ni ẹtọ lati wa nitori wọn gba ọ laaye lati ṣeto diẹ ninu awọn paramita afikun. O ṣe pataki lati ni oye pe awọn oniyipada olumulo nikan ni asọye laarin igba lọwọlọwọ. Nigbati console ti wa ni pipade tabi iwe afọwọkọ ba pari, wọn ti paarẹ.

Awọn iyatọ eto

Ni afikun si awọn ti a kede nipasẹ olumulo, awọn oniyipada ti a ṣe sinu (eto) wa ti ko paarẹ lẹhin igbati lọwọlọwọ ba pari. Wọn pin si awọn oriṣi meji, lakoko ti data ipinlẹ PowerShell ti wa ni ipamọ ni awọn oniyipada aifọwọyi ti ko le ṣe sọtọ awọn iye lainidii lori tirẹ. Iwọnyi pẹlu, fun apẹẹrẹ, $PWD:

$PWD.Path

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Awọn oniyipada ààyò ni a nilo lati tọju awọn ayanfẹ olumulo, awọn iye eyiti o le yipada. Fun apẹẹrẹ, ni lilo $ErrorActionPreference, iṣesi ti onitumọ aṣẹ si iṣẹlẹ ti awọn aṣiṣe ti kii ṣe iku ti ṣeto.

Ni afikun si awọn oniṣẹ ati cmdlets fun iraye si awọn oniyipada ti a sọ, Ayipada kan wa: pseudo-accumulator. O le ṣiṣẹ pẹlu rẹ nipasẹ afiwe pẹlu awọn awakọ miiran, ati awọn oniyipada ninu ọran yii dabi awọn nkan eto faili:

Get-ChildItem Variable: | more

tabi

ls Variable: | more

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Awọn aaye

Fun awọn oniyipada ni PowerShell, imọran ti dopin wa (Opin). Iṣe ti aaye agbaye (Global) kan si gbogbo igba ti o wa lọwọlọwọ - o pẹlu, fun apẹẹrẹ, awọn oniyipada eto. Awọn oniyipada agbegbe (agbegbe) wa nikan ni aaye nibiti wọn ti ṣalaye: sọ inu iṣẹ kan. Tun wa ni imọran ti ipari ti iwe afọwọkọ (Afọwọkọ), ṣugbọn fun awọn aṣẹ iwe afọwọkọ, o jẹ pataki agbegbe. Nipa aiyipada, nigbati o ba n kede awọn oniyipada, wọn fun ni aaye agbegbe kan, ati lati yi eyi pada, o nilo itumọ pataki kan bi: $Global: variable = value.

Fun apẹẹrẹ, bii eyi:

$Global:test = 100

Awọn oniyipada ayika (agbegbe)

Awakọ pseudo-miran, Env:, wa lati PowerShell ati pe o le ṣee lo lati wọle si awọn oniyipada ayika. Nigbati ikarahun naa ba bẹrẹ, wọn daakọ lati ilana obi (iyẹn, lati inu eto ti o bẹrẹ igba lọwọlọwọ) ati nigbagbogbo awọn iye akọkọ wọn jẹ kanna bi awọn iye ninu nronu iṣakoso. Lati wo awọn oniyipada ayika, lo Get-ChildItem cmdlet tabi awọn inagijẹ rẹ (awọn inagijẹ): ls ati dir.

dir Env:

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Awọn oniyipada wọnyi jẹ awọn ilana ti awọn baiti (tabi awọn ohun kikọ, ti o ba fẹ), itumọ eyiti o da lori eto lilo wọn nikan. Awọn cmdlets * -ayipada ko ṣiṣẹ pẹlu awọn oniyipada ayika. Lati wọle si wọn, o ni lati lo ìpele wakọ:

$env:TEST = "Hello, World!"

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Iṣiro ati lafiwe awọn oniṣẹ

PowerShell n pese awọn oniṣẹ iṣiro wọnyi: + (afikun), - (iyokuro), * (pupọ), / (pipin), ati% (modulo tabi modulo). Abajade ti ikosile isiro jẹ iṣiro lati osi si otun ni ibamu pẹlu ilana ti gbogboogbo ti awọn iṣẹ ṣiṣe, ati pe awọn akomo ni a lo lati ṣe akojọpọ awọn apakan ti ikosile naa. Awọn alafo laarin awọn oniṣẹ jẹ aibikita, wọn lo nikan lati jẹ ki o rọrun lati ka. Oniṣẹ + naa tun ṣajọpọ, ati pe oniṣẹ * n tun awọn okun ṣe. Ti o ba gbiyanju lati ṣafikun nọmba kan si okun, yoo yipada si okun kan. Ni afikun, ede PowerShell ni ọpọlọpọ awọn oniṣẹ lafiwe ti o ṣayẹwo fun ibaamu kan laarin awọn iye meji ati da pada boolean Otitọ tabi Eke:

Oniṣẹ

Apejuwe

Apeere koodu

-eq

Dogba / Dogba (bii = tabi == ni awọn ede miiran)

$idanwo = 100
$ idanwo -eq 123 

- jẹ

Ko dogba / Ko dọgba (iru si <> tabi !=)

$idanwo = 100
$idanwo -ne 123   

-gt

Ti o tobi ju / Diẹ sii (analogue>)

$idanwo = 100
$idanwo -gt 123

-ge

Ti o tobi ju tabi dọgba / Ti o tobi ju tabi dọgba (bii >>)

$idanwo = 100
$ idanwo -ge 123

-lt

Kere ju / Kere (bii <)

$idanwo = 100
Idanwo $ 123  

-awọn

Kere ju tabi dọgba / Kere ju tabi dọgba (bii <=)

$idanwo = 100
Idanwo $ 123

Awọn oniṣẹ miiran ti o jọra wa ti o gba ọ laaye lati, fun apẹẹrẹ, ṣe afiwe awọn gbolohun ọrọ ti o da lori kaadi egan tabi lo awọn ikosile deede lati baamu ilana kan. A yoo ṣe apejuwe wọn ni awọn alaye ni awọn nkan iwaju. Awọn aami <,> ati = ni a ko lo fun lafiwe nitori wọn lo fun awọn idi miiran.

Awọn oniṣẹ iṣẹ iyansilẹ

Ni afikun si wọpọ julọ = onišẹ, awọn oniṣẹ iṣẹ iyansilẹ miiran wa: +=, -=, *=, /= ati %=. Wọn yi iye pada ṣaaju iṣẹ iyansilẹ. Awọn oniṣẹ aiṣedeede ++ ati -, eyiti o pọ si tabi dinku iye oniyipada kan, huwa bakanna - wọn tun kan si awọn oniṣẹ iṣẹ iyansilẹ.

Mogbonwa awọn oniṣẹ

Ifiwera nikan ko to lati ṣe apejuwe awọn ipo idiju. O le kọ eyikeyi awọn ikosile ọgbọn nipa lilo awọn oniṣẹ: -ati, -tabi, -xor, -ko ati!

("Тест" -eq "Тест") -and (100 -eq 100)

-not (123 -gt 321) 

!(123 -gt 321)

Ni majemu Jump

Awọn oniṣẹ ẹka ni PowerShell jẹ apewọn: IF (IF… YII, TI…ELSEIF… ELSE) ati Yipada. Jẹ ki a wo lilo wọn pẹlu awọn apẹẹrẹ:

[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 или значение не определено"}
}

Awọn iyipo

PowerShell ni ọpọlọpọ awọn iyipo ti awọn lupu: NIGBATI, ṢE NIGBA, ṢE TITI, FUN, ati FOREACH.

Lupu kan pẹlu ipo iṣaaju n ṣiṣẹ ti / niwọn igba ti o jẹ otitọ:

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

Yipo pẹlu kan postcondition yoo ṣiṣẹ ni o kere lẹẹkan, nitori awọn majemu ti wa ni ẹnikeji lẹhin ti awọn aṣetunṣe. Ni akoko kanna, ṢE NIGBATI o n ṣiṣẹ lakoko ti ipo naa jẹ otitọ, ati ṢE TITI o ṣiṣẹ lakoko ti o jẹ eke:

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

Nọmba awọn aṣetunṣe ti lupu FOR ni a mọ ni ilosiwaju:

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

Ninu lupu FOREACH, ṣe atunwo lori awọn eroja ti orun tabi gbigba (tabili hash):

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

Awọn abayọ

Awọn oniyipada PowerShell ṣafipamọ kii ṣe awọn nkan ẹyọkan (nọmba, okun, ati bẹbẹ lọ), ṣugbọn awọn pupọ paapaa. Iru ti o rọrun julọ ti iru awọn oniyipada jẹ awọn akojọpọ. Ohun orun le ni orisirisi awọn eroja, ọkan ano, tabi sofo, i.e. ko si eroja. O ti kede ni lilo oniṣẹ @ (), eyiti a yoo nilo ninu nkan ti nbọ - o ṣe pataki pupọ fun fifi awọn akojọpọ miiran kun si akojọpọ kan (ṣiṣẹda awọn ohun elo multidimensional), gbigbe awọn eto si awọn iṣẹ bi ariyanjiyan, ati awọn iṣẹ ṣiṣe ti o jọra:

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

Nigbati a ba ti bẹrẹ akojọpọ, awọn iye rẹ ni a ṣe akojọ niya nipasẹ aami idẹsẹ (onišẹ pataki,):

$test_array = @(1, 2, 3, 4) # создаем массив из четырех элементов 

Ni ọpọlọpọ awọn ọran, oniṣẹ @() le yọkuro:

$test_array = 1, 2, 3, 4

Ni idi eyi, titobi ti ẹya kan ti wa ni ipilẹṣẹ bi atẹle

$test_array = , 1

Awọn eroja akojọpọ jẹ wọle nipa lilo atọka odidi orisun-odo ati oniṣẹ atọka (awọn biraketi onigun mẹrin):

$test_array[0] = 1

O le pato awọn atọka pupọ ti o yapa nipasẹ aami idẹsẹ, pẹlu. Loorekoore:

$test_array = "один", "два", "три", "четыре"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Oniṣẹ .. (aami meji - onišẹ ibiti) da ọpọlọpọ awọn nọmba pada laarin awọn opin oke ati isalẹ ti a sọ. Fun apẹẹrẹ, ikosile 1..4 ṣe agbejade titobi ti awọn eroja mẹrin @ (1, 2, 3, 4), ati ikosile 8..5 ṣe agbejade akojọpọ @ (8, 7, 6, 5).

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Lilo oniṣẹ ẹrọ ibiti o le ṣe ipilẹṣẹ ($test_array = 1..4) tabi gba bibẹ pẹlẹbẹ kan (bibẹ), i.e. ọkọọkan awọn eroja lati inu opo kan pẹlu awọn atọka lati omiiran. Ni idi eyi, nọmba odi -1 n tọka ipin ti o kẹhin ti orun, -2 - ọkan ti o penultimate, ati bẹbẹ lọ.

$test_array = "один", "два", "три", "четыре"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]

Ṣe akiyesi pe awọn iye orun odidi le tobi ju iye atọka ti o pọ julọ ti akopọ data naa. Ni idi eyi, gbogbo awọn iye ti wa ni pada si awọn ti o kẹhin:

$test_array[0..100]

Ti o ba gbiyanju lati wọle si ipin kan ti ko si tẹlẹ, $ null yoo pada.

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Ni PowerShell, awọn akojọpọ le ni awọn eroja ti awọn oriṣiriṣi oriṣi tabi ti tẹ ni agbara:

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

Nibo ohun-ini $ test_array.count jẹ nọmba awọn eroja orun.

Apeere ti ṣiṣẹda orun ti a tẹ ni agbara:

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

Hash tabili

Iru ipilẹ miiran ti oniyipada ni PowerShell jẹ awọn tabili hash, ti a tun mọ ni awọn akojọpọ alajọṣepọ. Hashtables jẹ iru awọn nkan JSON ati pe a kọ lori ipilẹ-iye bọtini kan. Ko dabi awọn akojọpọ lasan, awọn eroja wọn wọle nipasẹ awọn bọtini ti a darukọ, eyiti o jẹ awọn ohun-ini ti nkan naa (o tun le lo oniṣẹ atọka - awọn biraketi onigun mẹrin).

Tabili hash ti o ṣofo jẹ ikede nipa lilo aami @ ati awọn biraketi oniṣẹ:

$test_hashtable = @{}

Nigbati o ba n ṣalaye, o le ṣẹda awọn bọtini lẹsẹkẹsẹ ki o fi awọn iye si wọn:

$test_hashtable = @{one="один"; two="два"; three="три"; "some key"="some value"}

Lati fi ohun kan kun si tabili hash, o gbọdọ fi bọtini kan ti ko si tẹlẹ si, tabi lo ọna Fikun-un (). Ti a ba ṣe iṣẹ iyansilẹ si bọtini to wa tẹlẹ, iye rẹ yoo yipada. Ọna Yọkuro () ni a lo lati yọ ohun kan kuro ni tabili hash.

$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "четыре")
$test_hashtable.five = "пять"
$test_hashtable['five'] = "заменяем значение"
$test_hashtable.Remove("one")

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Awọn iyipada ti iru yii le ṣee kọja bi awọn ariyanjiyan si awọn iṣẹ ati awọn cmdlets - ni nkan ti o tẹle a yoo ṣe iwadi bii eyi ṣe ṣe, ati tun gbero iru iru miiran - PSCustomObject.

Awọn iṣẹ

PowerShell ni ohun gbogbo ti o nilo fun siseto ilana, pẹlu awọn iṣẹ. Lati ṣe apejuwe wọn, a lo ọrọ iṣẹ naa Iṣẹ, lẹhin eyi o nilo lati pato orukọ iṣẹ naa ati ara ti a fi sinu awọn biraketi oniṣẹ. Ti o ba nilo lati kọja awọn ariyanjiyan si iṣẹ naa, o le pato wọn lẹsẹkẹsẹ lẹhin orukọ ninu awọn akomo.

function имя-функции (аргумент1, ..., аргументN) 
{ 
        тело-функции 
} 

Iṣẹ naa nigbagbogbo n da abajade pada - o jẹ akojọpọ awọn abajade ti gbogbo awọn alaye rẹ, ti o ba wa ju ọkan lọ. Ti alaye kan ba wa, iye kan ṣoṣo ti iru ti o baamu jẹ pada. Ipilẹpada iye $ ṣe afikun ẹya kan pẹlu iye $ iye si ọna abajade ati faṣẹ imuṣẹ ti atokọ alaye naa, ati pe iṣẹ ofo pada $ asan.

Fun apẹẹrẹ, jẹ ki a ṣẹda iṣẹ kan fun squaring nọmba kan:

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

Ṣe akiyesi pe ninu ara ti iṣẹ kan, o le lo eyikeyi awọn oniyipada ti a kede ṣaaju pipe rẹ, ati pe awọn iṣẹ pipe ni PowerShell le dabi dani: awọn ariyanjiyan (ti o ba jẹ eyikeyi) ko ni paade ni awọn akomo ati pe wọn pin nipasẹ awọn alafo.

sqr 2

tabi bii eyi:

sqr -number 2

Nitori ọna ti awọn ariyanjiyan ti kọja, iṣẹ naa funrarẹ nigbakan nilo lati wa ni pipade ni awọn akọmọ:

function test_func ($n) {}
test_func -eq $null     # функция не вызывалась
(test_func) -eq $null   # результат выражения — $true

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Nigbati o ba n ṣe apejuwe iṣẹ kan, o le fi awọn iye aiyipada si awọn ariyanjiyan:

function func ($arg = value) {
         #тело функции
}

Sintasi miiran wa fun apejuwe awọn ariyanjiyan iṣẹ, ni afikun, awọn paramita le ṣee ka lati opo gigun ti epo - gbogbo eyi yoo wa ni ọwọ ni nkan ti nbọ, nigbati a ba wo awọn modulu okeere ati ṣiṣẹda awọn cmdlets tiwa.

Ṣiṣe aṣiṣe

PowerShell ni o ni a Gbiyanju...Catch...Lakotan ẹrọ lati mu awọn imukuro. Àkọsílẹ Gbiyanju ni koodu ninu eyiti aṣiṣe le waye, ati idinamọ Catch ni oluṣakoso rẹ ninu. Ti ko ba si aṣiṣe, ko ṣiṣẹ. Àkọsílẹ Ikẹhin ti wa ni ṣiṣe lẹhin Àkọsílẹ Gbiyanju, laibikita iṣẹlẹ ti aṣiṣe kan, ati pe ọpọlọpọ awọn bulọọki Catch le wa fun awọn oriṣiriṣi awọn imukuro. Iyatọ tikararẹ jẹ kikọ si oniyipada aiyipada ti a ko kede ($ _) ati pe o le gba ni irọrun. Ninu apẹẹrẹ ti o wa ni isalẹ, a ṣe idabobo lodi si titẹ iye ti ko wulo:

try {

        [int]$test = Read-Host "Введите число"
        100 / $test

} catch {

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

}

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

Eyi pari atunyẹwo ti awọn ipilẹ ti siseto ni ede PowerShell. Ninu awọn nkan atẹle, a yoo ṣe iwadi ni awọn alaye diẹ sii ti n ṣiṣẹ pẹlu awọn oniyipada ti awọn oriṣiriṣi oriṣiriṣi, awọn ikojọpọ, awọn ikosile deede, awọn iṣẹ ṣiṣe, awọn modulu ati awọn cmdlets aṣa, bakanna bi siseto ti o da lori ohun.

Kini Windows PowerShell ati kini o jẹ pẹlu? Apá 2: Iṣaaju si ede siseto

orisun: www.habr.com

Fi ọrọìwòye kun