Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Nhoroondo, mirairo-mutsara zvinoshandiswa paUnix masisitimu zvakagadziridzwa zviri nani pane paWindows, asi nekuuya kwemhinduro nyowani, mamiriro achinja.

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

PowerShell inogona kunyorwa mune yakadudzirwa, yakawanda-paradigm mutauro une zvinhu zvechinyakare maitiro, chinhu-chakanangana, uye kunyange inoshanda hurongwa: ane mamiriro branching, looops, variables, arrays, hashi matafura, makirasi, kukanganisa kubata, pamwe nemabasa, cmdlets, uye mapaipi. Previous article yakanga yakazvipira kune izvo zvekutanga zvekushanda munzvimbo, uye ikozvino tinopa vaverengi gwara diki revagadziri.

Tafura yezviri mukati:

Comments
Variables uye marudzi avo
System variables
Scopes
Environment variables (zvakatipoteredza)
Arithmetic uye kuenzanisa vashandisi
Assignment operators
Vashandisi vane musoro
Conditional Jump
Cycles
Arrays
Hash matafura
Mabasa
Kukanganisa kugadzirisa

Unogona kunyora kodhi mune chero mavara edhita kana kushandisa yakasanganiswa budiriro nharaunda - nzira iri nyore kutora iyo Windows PowerShell ISE inouya neMicrosoft server inoshanda masisitimu. Izvi zvinongodiwa kune zvinyorwa zvakaoma kunzwisisa: mapfupi seti emirairo ari nyore kuita zvinopindirana.

Comments

Kushandisa makomendi kunoonekwa sechikamu chemaitiro akanaka ekuronga pamwe chete neiyo indentation uye whitespace:

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

<# 

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

#>

Variables uye marudzi avo

Variables muPowerShell dzinonzi zvinhu. Mazita avo anogona kusanganisira underscore character, pamwe nemavara nenhamba. Chiratidzo che$ chinogara chichishandiswa pamberi pezita, uye kuzivisa shanduko, zvakakwana kupa muturikiri zita rinoshanda:

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Kuti utange shanduko (kupa kukosha kwairi), mushandisi webasa (chiratidzo =) anoshandiswa:

$test = 100

Iwe unogona kuzivisa shanduko nekutsanangura mhando yayo mumabhuraketi akaenzana (type casting operator) pamberi pezita kana kukosha:

[int]$test = 100

$test = [int]100

Zvakakosha kunzwisisa kuti mabhii muPowerShell zvinhu zvakazara (makirasi) ane zvivakwa uye nzira dzine mhando dzinobva pane dziri mu.NET Core. Isu tinonyora iwo makuru:

Type (.NET kirasi)

tsananguro

Code Muenzaniso

[tambo] System.String

Unicode tambo 

$ bvunzo = "bvunzo"
$test = 'test'

[char]System.Char

Unicode character (16 bits)

[char] $test = 'c'

[bool] System.Boolean

boolean mhando (boolean Chokwadi kana Nhema)

[bool] $ bvunzo = $ chokwadi

[int] System.Int32

makumi matatu nembiri zvishoma (32 bits)

[int] $test = 123456789

[refu] System.Int64

makumi matanhatu nemana bhiti nhamba yose (64 bits)

[refu] $test = 12345678910

[Single] System.Single

inoyangarara point nhamba 32 bits kureba

[imwechete] $ bvunzo = 12345.6789

[kaviri]Sistimu.Kaviri

inoyangarara nhamba yehurefu 64 bits (8 bytes)

[kaviri] $ bvunzo = 123456789.101112

[decimal]System.Decimal

128-bit inoyangarara point nhamba (inoda kupera ne d)

[decimal]$test = 12345.6789d

[DateTime]System.DateTime

zuva nenguva 

$ bvunzo = GetDate

[hurongwa] System.Object[]

array ane element index inotangira pa0

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

[hashtable] System.Collections.Hashtable

Matafura ehashi anosanganisirwa ane makiyi ane mazita, akavakwa zvinoenderana nemusimboti: @{kiyi = "kukosha"}

$test_hashtable = @{one="one"; maviri = "mbiri"; zvitatu = "vatatu"}

PowerShell inotsigira kutendeuka kwemhando isina kujeka, mukuwedzera, rudzi rwekuchinjika runogona kuchinjika pane nhunzi (semuenzaniso, uchishandisa assignment operator), kana isina kutaurwa zvekumanikidzira - munyaya iyi, muturikiri achapa kukanganisa. Iwe unogona kuona rudzi rweiyo vhezheni kubva kumuenzaniso wapfuura nekudaidza iyo GetType () nzira:

$test.GetType().FullName

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Kune akati wandei cmdlets ekugadzirisa zvinosiyana. Rondedzero yavo mufomu iri nyore inoratidzwa uchishandisa murairo:

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

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Kuti utarise zvakaziviswa zvakasiyana uye hunhu hwazvo, unogona kushandisa yakakosha cmdlet:

Get-Variable | more

Iyi nzira inoita seyakanyanya kuomesesa, zviri nyore kwazvo kushanda nemabatiro kuburikidza nevashandisi kana nekuwana zvivakwa zvavo uye nzira zvakananga. Nekudaro, cmdlets vane kodzero yekuvepo nekuti ivo vanokutendera iwe kuseta mamwe ma parameter. Izvo zvakakosha kuti unzwisise kuti misiyano yemushandisi inotsanangurwa chete mukati mechikamu chazvino. Kana iyo koni yakavharwa kana script yapera, ivo vanobviswa.

System variables

Kuwedzera kune izvo zvakaziviswa nemushandisi, kune akavakirwa-mukati (system) akasiyana asina kudzimwa mushure mekunge chikamu chazvino chapera. Iwo akakamurwa kuita marudzi maviri, nepo PowerShell state data inochengetwa mune otomatiki mavhezheni ayo asingagone kupihwa zvekupokana tsika ivo pachavo. Izvi zvinosanganisira, semuenzaniso, $PWD:

$PWD.Path

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Kusarudzika kwakasiyana kunodiwa kuchengetedza zvido zvevashandisi, hunhu hunogona kuchinjwa. Semuenzaniso, uchishandisa $ErrorActionPreference , maitiro emuturikiri wemirairo pakuitika kwezvikanganiso zvisingaurayiwi zvinoiswa.

Pamusoro pevashandisi uye cmdlets yekuwana yakaziviswa akasiyana, pane Variable: pseudo-accumulator. Iwe unogona kushanda nayo nekufananidza nemamwe madhiraivha, uye zvinosiyana mune iyi kesi zvakafanana nefaira system zvinhu:

Get-ChildItem Variable: | more

kana

ls Variable: | more

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Scopes

Kune zvinosiyana muPowerShell, pane iyo pfungwa yehukuru (Scope). Chiito chepasi rose scope (Global) chinoshanda kune yese yazvino chikamu - inosanganisira, semuenzaniso, masisitimu akasiyana. Nharaunda (Yemunharaunda) misiyano inowanikwa chete muchikamu payakatsanangurwa: iti mukati mebasa. Iko kune zvakare pfungwa yehupamhi hwechinyorwa (Script), asi kune script mirairo, ndeyenzvimbo. Nekumisikidza, kana uchizivisa zvinosiyana, zvinopihwa chiyero chenzvimbo, uye kuti uchinje izvi, iwe unoda yakakosha kuvaka senge: $Global: chinja = kukosha.

Semuenzaniso, seizvi:

$Global:test = 100

Environment variables (zvakatipoteredza)

Imwe pseudo-drive, Env :, inowanikwa kubva kuPowerShell uye inogona kushandiswa kuwana nharaunda dzakasiyana. Kana goko richitanga, ivo vanoteedzerwa kubva kumaitiro evabereki (kureva, kubva kuchirongwa chakatanga chikamu chazvino) uye kazhinji hunhu hwavo hwekutanga hwakafanana nehunhu mupaneru yekudzora. Kuti utarise zvinosiyana nharaunda, shandisa Get-ChildItem cmdlet kana maaliases ayo (aliases): ls uye dir.

dir Env:

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Izvi zvakasiyana-siyana zvinotevedzana zvebhaiti (kana mavara, kana uchida), kududzira kunoenderana chete nechirongwa chinovashandisa. Iyo * -Variable cmdlets haishande nemamiriro ekunze. Kuti uzviwane, unofanirwa kushandisa dhiraivha prefix:

$env:TEST = "Hello, World!"

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Arithmetic uye kuenzanisa vashandisi

PowerShell inopa anotevera arithmetic operators: + (kuwedzera), - (kubvisa), * (kuwanza), / (kupatsanura), uye % (modulo kana modulo). Mhedzisiro yekutaura kwesvomhu inoongororwa kubva kuruboshwe kuenda kurudyi maererano nehurongwa hunowanzogamuchirwa hwekushanda, uye maparenthesi anoshandiswa kuisa zvikamu zvekutaura. Nzvimbo pakati pevashandisi hadzina kufuratirwa, dzinoshandiswa chete kuita kuti zvive nyore kuverenga. Iyo + opareta zvakare inobatana, uye * mushandisi anodzokorora tambo. Kana iwe ukaedza kuwedzera nhamba kune tambo, inoshandurwa kuita tambo. Uye zvakare, iyo PowerShell mutauro une akawanda ekuenzanisa anoshanda anotarisa mutambo pakati pehuviri maitiro uye anodzosera iyo boolean Chokwadi kana Nhema:

Operator

tsananguro

Code Muenzaniso

-eq

Yakaenzana / Yakaenzana (yakafanana ne = kana == mune mimwe mitauro)

$ bvunzo = zana
$ bvunzo -eq 123 

- ndizvo

Haina kuenzana / Haina kuenzana (yakafanana ne <> kana !=)

$ bvunzo = zana
$ bvunzo -ne 123   

-gt

Huru pane / Zvakawanda (analogue>)

$ bvunzo = zana
$ bvunzo -gt 123

-ge

Hukuru pane kana kuenzana / Hukuru pane kana kuenzana (zvakafanana ne>=)

$ bvunzo = zana
$ bvunzo -ge 123

-lt

Zvishoma pane / Zvishoma (zvakafanana ne <)

$ bvunzo = zana
$ bvunzo -lt 123  

-the

Zvishoma pane kana zvakaenzana / Zvishoma pane kana zvakaenzana (zvakafanana ne <=)

$ bvunzo = zana
$ bvunzo -le 123

Kune mamwe maopareta akafanana anobvumidza iwe, semuenzaniso, enzanisa tambo dzinobva pane wildcard kana kushandisa nguva dzose mataurirwo kuenzanisa patani. Tichaafukidza zvakadzama muzvinyorwa zvinotevera. Zviratidzo <,> uye = hazvina kushandiswa kuenzanisa nokuti zvinoshandiswa kune zvimwe zvinangwa.

Assignment operators

Kuwedzera kune yakajairika = opareta, kune mamwe mabasa ekupa: +=, -=, *=, /= uye%=. Vanoshandura kukosha vasati vapiwa. Iwo unary operators ++ uye -, ayo anowedzera kana kuderedza kukosha kwekusiyana, anoita zvakafanana - anoshandawo kune vanoita basa.

Vashandisi vane musoro

Kuenzanisa chete hakuna kukwana kutsanangura mamiriro ezvinhu akaoma. Unogona kunyora chero mataurirwo ane musoro uchishandisa maopareta: -uye, -or, -xor, -kwete uye!

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

-not (123 -gt 321) 

!(123 -gt 321)

Conditional Jump

Vashandi vebazi muPowerShell vakajairwa: IF(IF...ELSE, IF…ELSEIF…ELSE) uye SWITCH. Ngatitarisei kushandiswa kwavo nemienzaniso:

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

Cycles

PowerShell ine akatiwandei ezvishwe: IRIPO, ITA UCHIITA, ITA KUSVIKIRA, NOKUDA, uye FOREACH.

Lop ine precondition inoshanda kana / chero chiri chokwadi:

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

Loops ine postcondition inomhanya kamwechete, nekuti mamiriro acho anotariswa mushure mekudzokorora. Panguva imwecheteyo, ITA UCHISHANDA apo mamiriro acho ari echokwadi, uye ITA KUSVIKIRA ichishanda ichiri nhema:

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

Huwandu hwekudzokororwa kweiyo FOR loop inozivikanwa pachine nguva:

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

Mune iyo FOREACH loop, inodzokorora pamusoro pezvinhu zvehurongwa kana muunganidzwa (hashi tafura):

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

Arrays

PowerShell akasiyana anochengeta kwete chete zvinhu zvimwechete (nhamba, tambo, nezvimwewo), asiwo akawanda. Rudzi rwakareruka rwemhando dzakadaro mitsara. Mutsara unogona kuva nezvinhu zvakati wandei, chinhu chimwe chete, kana kushaya chinhu, kureva. haina zvinhu. Inoziviswa kushandisa @() mushandisi, iyo yatinozoda muchinyorwa chinotevera - zvakakosha zvakanyanya pakuwedzera mamwe marongero kune array (kugadzira multidimensional arrays), achipfuura arrays kumabasa senharo, uye mamwe mabasa akafanana:

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

Kana hurongwa hwatangwa, hunhu hwayo hunonyorwa hwakaparadzaniswa nemakoma (special operator ,):

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

Kazhinji, iyo @() mushandisi anogona kusiiwa:

$test_array = 1, 2, 3, 4

Muchiitiko ichi, mutsara wechimwe chinhu chinotangwa sezvinotevera

$test_array = , 1

Array zvinhu zvinowanikwa uchishandisa zero-based integer index uye index operator (square brackets):

$test_array[0] = 1

Unogona kudoma akati wandei akapatsanurwa nemakoma, incl. kudzokorora:

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

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Operator .. (madotsi maviri - renji opareta) inodzosa nhevedzano yenhamba mukati memiganhu yakataurwa yepamusoro nechepazasi. Semuyenzaniso, chirevo 1..4 chinoburitsa nhevedzano yezvinhu zvina @(1, 2, 3, 4), uye kutaura 8..5 kunoburitsa array @(8, 7, 6, 5).

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Uchishandisa renji opareta, unogona kutanga rondedzero ($test_array = 1..4) kana kuwana chidimbu (chidimbu), i.e. nhevedzano yezvinhu kubva pane imwe danda ine indices kubva kune imwe. Muchiitiko ichi, nhamba isina kunaka -1 inoreva chinhu chekupedzisira chechikwata, -2 - pekupedzisira, zvichingodaro.

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

Ziva kuti nhamba yehuwandu hwehuwandu inogona kuve yakakura kupfuura iyo yakanyanya index kukosha kweiyo data array. Muchiitiko ichi, kukosha kwese kunodzoserwa kune yekupedzisira:

$test_array[0..100]

Kana ukaedza kuwana chinhu chimwe chisipo, $null inodzoswa.

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

MuPowerShell, arrays anogona kunge aine zvinhu zvemhando dzakasiyana kana kunyorwa zvine simba:

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

Apo $test_array.count pfuma ndiyo nhamba yezvikamu.

Muenzaniso wekugadzira mutsara wakanyorwa zvakasimba:

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

Hash matafura

Imwe mhando yemhando yezvakasiyana mumutauro wePowerShell matafura ehashi, anozivikanwawo seasociative arrays. MaHashtables akafanana neJSON zvinhu uye akavakirwa pane kiyi-kukosha hwaro. Kusiyana neakajairwa arrays, zvinhu zvawo zvinowanikwa nemakiyi ane zita, ari zvimiro zvechinhu (iwe unogona zvakare kushandisa index operator - square brackets).

Tafura yehashi isina chinhu inoziviswa uchishandisa @ chiratidzo uye mabhureki emushandisi:

$test_hashtable = @{}

Paunenge uchizivisa, iwe unogona nekukurumidza kugadzira makiyi uye kugovera kukosha kwavari:

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

Kuti uwedzere chinhu patafura yehashi, unofanirwa kupa kiyi iyo isati yavapo kwairi, kana kushandisa iyo Wedzera () nzira. Kana basa rikaitwa kune kiyi iripo, kukosha kwayo kunoshanduka. Iyo Bvisa () nzira inoshandiswa kubvisa chinhu kubva patafura yehashi.

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

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Kusiyana kwerudzi urwu kunogona kupfuudzwa senharo kumabasa uye cmdlets - munyaya inotevera tichadzidza kuti izvi zvinoitwa sei, uye zvakare funga imwe mhando yakafanana - PSCustomObject.

Mabasa

PowerShell ine zvese zvaunoda kune procedural programming, kusanganisira mabasa. Kuti uvatsanangure, izwi rekuita Basa rinoshandiswa, mushure mezvo iwe unofanirwa kutsanangura zita rebasa uye mutumbi wakavharirwa mumabhureki evashandisi. Kana iwe uchida kupfuudza nharo kune basa, unogona kuzvitsanangura pakarepo mushure mezita mumaparentheses.

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

Basa racho rinogara richidzosa mhedzisiro - irondedzero yemhedzisiro yezvirevo zvaro zvese, kana paine zvinopfuura chimwe. Kana pane chirevo chimwe chete, kukosha kwega kwemhando inoenderana inodzorerwa. Iyo yekudzoka $ kukosha kwekuvaka inowedzera chinhu chine kukosha $ kukosha kune mhedzisiro array uye inobvisa kuurayiwa kweiyo statement list, uye isina chinhu basa rinodzorera $ null.

Semuenzaniso, ngatigadzirei basa reku squaring nhamba:

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

Ziva kuti mumutumbi webasa, unogona kushandisa chero shanduko dzakaziviswa usati waidaidza, uye kufona mabasa muPowerShell kungaite sekusina kujairika: nharo (kana dziripo) hadzina kuvharirwa mumaparentheses uye dzakapatsanurwa nenzvimbo.

sqr 2

kana:

sqr -number 2

Nekuda kwemafambisirwo enharo, basa racho dzimwe nguva rinoda kuvharirwa mumaparentheses:

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

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Paunenge uchitsanangura basa, unogona kugovera maitiro ekutanga kune nharo:

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

Pane imwe syntax yekutsanangura nharo dzebasa, mukuwedzera, parameters inogona kuverengwa kubva papombi - zvese izvi zvichauya zvine mutsindo muchinyorwa chinotevera, kana tikatarisa kunze kwenyika module uye kugadzira edu ega cmdlets.

Kukanganisa kugadzirisa

PowerShell ine Edza...Bata...Pakupedzisira magadzirirwo ekugadzirisa zvasara. Iyo Yedza block ine kodhi iyo kukanganisa kunogona kuitika, uye iyo Catch block ine mubati wayo. Kana pakange pasina kukanganisa, haiitwe. Iyo Yekupedzisira block inoitwa mushure meKuedza block, zvisinei nekuitika kwechikanganiso, uye panogona kuve neakati wandei maCatch blocks emhando dzakasiyana dzekusarudzika. Iyo yekusarudzika pachayo inonyorerwa kune isingazivikanwe default dhizaini ($ _) uye inogona kudzoreredzwa nyore. Mumuenzaniso uri pasi apa, tinoisa dziviriro kubva pakupinda kukosha kusina kunaka:

try {

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

} catch {

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

}

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Izvi zvinopedzisa kuongororwa kwekutanga kwehurongwa mumutauro wePowerShell. Muzvinyorwa zvinotevera, tichadzidza zvakadzama kushanda nemhando dzakasiyana-siyana, kuunganidza, kutaura nguva dzose, kugadzira mabasa, ma modules uye tsika cmdlets, pamwe chete nepurogiramu yakatarisana nechinhu.

Chii chinonzi Windows PowerShell uye inodyiwa nei? Chikamu 2: Nhanganyaya kumutauro wepurogiramu

Source: www.habr.com

Voeg