Kihagyás

9. gyakorlat

WSH után => PowerShell

  • A WSH-t ma is használjuk
  • .NET Framework 2.0, 2005 után PowerShell

  • A PowerShell elsősorban menedzsment célra jó

  • Shell script: Általános script programozási környezet Windows operációs rendszer alatt
"Hajrá barcelona!"
$a=5
"balaton"

Kiterjesztés: .ps1

Futtatás teljes (abszolút) útvonalal

Ha van szóköz a könyvtárban, akkor a & jelet írjuk a parancs elé, és " közé írjuk a parancs nevét

Get-Help

Segítséget ír ki a parancsokhoz

Alapból a parancsoknak csak a szintaxisa érthető el

  • Update-Help - lokálisan telepíti a dokumentációt

A PowerShell objektum orientált

  • .Net Object
  • COM Object
  • WMI Object

Get-Member

Alapvető PowerShell parancsok

  • alias, deffiniált átnevezések (aliasok)
  • gcm - Get-Command, parancsok listázása
  • echo - Write-Output, képernyőre írás
    • Write-Host - [Console]::WriteLine
  • Get-Help - rövid leírás a parancsokról
    • Update-Help - Manuálok letöltése és telepítése
    • Get-Help - -full Write-Host
    • set-alias gh get-help
  • ps - Get-Process, futó folyamatok listázása
    • Sleep - Start-Sleep, várakozás

Fájlkezelés

  • dir, ls - Get-ChildItem

A PowerShell nem a fájlrendszerre fókuszál, hanem adatforrásokra.

  • New-Item - fájl vagy könyvtár létrehozása
  • Copy-Item <forrás> <cél> [-recurse] - fájlok másolása
  • Remove-Item - fájl törlése
  • Move-Item - fájl áthelyezése
  • Rename-Item - fájl átnevezése
  • Get-Item - fájl visszaadása
  • Test-Path fájl létezik-e?

Parancsok felépítése

Parancs Szemantikai felépítése

Standard:

  • Ige-Főnév

d

Változók

$név=érték

$f="fradibá";echo $f

;, mint univerzális sorelvelasztó (sortörés helyett...)

Támogatott típusok

Adattípus Értelmezése Példa
[int] egész szám (32bit) -273, 0, 1, 10
[byte] 8 bit, bájt 0, 1, 254, 255
[boolean] logikai $false, $true
[char] karakter (unicode 16 bit) a, b, c, 1, 2, 3, #
[string] Szöveg "FTC"
[single] 32 bites valós 3.14159
[datetime] Idő April 1, 2008

Változók láthatósága

F

Változó behelyettesítés

Basically, u.a. mint a bash-ben

  • $a="alma"
  • $afa - ""
  • ${a}fa - almafa
  • $ jel semlegesítése: `$
  • "" közötti változók behelyettesítésre kerülnek
  • ' közötti nem kerül behelyettesítve
    • echo '$a' - $a
  • DE! "echo '$i vége'" - $1 behelyettesítésre kerül
  • Nincs input átirányítás (<, <<)

    • helyette: több soros szöveg
    @'Ez egy
    több soros
    szöveg'@
    

Tömbök

$tömb="alma", "körte", "barack"

  • -contains - tartalmazás
  • -eq, -ne - Az összes elem, ami egyenlő (vagy nem) az adott értékkel
  • -lt, -gt - Az összes elem, ami kisebb (vagy nagyobb) az adott értéknél
  • -le, -gt - Kisebb vagy egyenlő, Bagyobb vagy egyenlő
  • -join, -split, -csplit (case sensitive-split, kis- és nagybetű)

Associatív tömb

  • $atömb=@{"kulcs"="érték"; "kulcs2"="érték2"}
  • Elemek elérése: $at[a] vagy $at.a
  • Értékadás: $at[a]=10
  • Új elem hozzáadása: $at+=@{c=11}
  • Kiírása: $at
Name   Value
----   -----
kulcs  érték
kulcs2 érték2

Elágazás

Összehasonlító operátorok, mint a tömböknél.

  • -eq, -ne,-gt,-lt, -le, -ge
  • -not, -and, -or,-xor logikai tagadás, és, vagy
  • Szövegnél: -ceq, Kis, nagybetű különböző, -ieq nem különböző,
  • -like *,?,[ab.] karakterek,
  • -match reg. kif. használat

If:

if (kif)
{ utasítás }
else
{ utasítás }
  • foreach, Foreach-Object - szűrő

TODO

Jövő héten nincs jelenléti óra