Lukeminen
MistÀ on kyse?
Aloitetaan jo olemassa olevien skriptien lukemisesta. On kovin tyypillistÀ, ettÀ ohjelmiston asennuksen tai kÀyttöönoton yhteydessÀ sinua neuvotaan ajamaan online-hostattu skripti. Tyypillisesti vaihe nÀyttÀÀ tÀltÀ:
# NĂ€in
Invoke-RestMethod -Uri https://example.com/install.ps1 | Invoke-Expression
# Tai nÀin
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
Jos olet epÀvarma, mitÀ komennot tekevÀt, aja Get-Help kullekin cmdletille.
Koska kehittÀjÀyhteisöjen kirjoittamaa koodia on Internet pullollaan, niin tutustutaan nÀihin esimerkkien kautta.
EsimerkkejÀ
Scoop
KomentoriviltÀ ajettava Scoop on ohjelmisto, joka asentaa ohjelmia Windowsille. Se on erÀÀnlainen vastine Linuxin apt- ja yum-paketinhallintajÀrjestelmille. Scoop asentaa hieman Linuxista tuttuun tapaan ohjelmia kÀyttÀjÀn kotihakemistoon. Vakiona ohjelmat asennetaan vain kÀyttÀjÀn scopeen. Scoopin asennus hoituu melko pitkÀn PS1-scriptin avulla.
Itse skripti löytyy: https://get.scoop.sh
Chocolatey
Scoopin kilpailija Chocolatey on hyvin vastaava ohjelmisto Windowsille. Se on hieman erilainen, sillÀ se on enemmÀn pakettienhallintajÀrjestelmÀ kuin ohjelmistojen asentaja. Toisin kuin Scoop, Chocolatey asentaa ohjelmia jÀrjestelmÀnlaajuisesti, perinteiseen Program Files lokaatioon.
Itse skripti löytyy: https://community.chocolatey.org/install.ps1
Oh My Posh
Oh My Posh on cross-platform teema- ja prompt-asetusten hallintatyökalu PowerShellille (ja myös muille shelliympÀristöille). Se on erÀÀnlainen vastine Zsh:n oh-my-zsh-teemalle. Sen voi asentaa Microsoftin ohjeiden mukaan wingetillÀ, mutta myös suoraan skriptillÀ. TÀhÀn löytyy ohjeet Oh My Posh: Installation Windows -sivulta.
Itse skripti löytyy: https://ohmyposh.dev/install.ps1
Docker Build Script
TÀllÀ kurssilla kÀytetty mcr.microsoft.com/powershell Docker-image kÀÀnnetÀÀn PowerShell-skriptillÀ CI/CD-automatisaation toimesta. Skripti on pitkÀ, mutta siitÀ huolimatta uniikit syntaksinpalat ovat helppoja tunnistaa.
Itse skripti löyty: gh:PowerShell/PowerShell-Docker/build.ps1
Kokoelmat
Voit tutustua myös Markus Fleschutzin kokoelmaan PowerShell-skriptejÀ gh:fleschutz/PowerShell/. Repositoriosta löytyvÀt skriptit ovat tyypillisesti huomattavasti lyhyempiÀ kuin ylemmÀt, joten jos parsit nÀitÀ, niin parsi ainakin 5 kappaletta lÀpi.
TehtÀvÀt
TehtÀvÀ: Parsi PowerShell-skripti
Tee sama kuin teit Bashin vastaavassa tehtÀvÀssÀ. Valitse yllÀ olevista skripteistÀ yksi (tai monta, jos parsit kokoelman). Kirjoita ylös löytÀmÀsi syntaksin palaset, jotka ovat uniikkeja. Voit noudattaa samaa prosessia kuin Bashin vastaavassa tehtÀvÀssÀ:
- Lataa tiedosto:
curl -sSLf https://example.com/install.ps1 > to-inspect.ps1 - Avaa Visual Studio Codessa:
code to-inspect.ps1 - Aloita tiedoston ylhÀÀltÀ ja prosessoi se rivi riviltÀ.
Tee seuraavat toimenpiteet jokaiselle koodiriville:
- â Jos koodirivi sisĂ€ltÀÀ entuudestaan vierasta syntaksia: dokumentoi se. đ
- đ Jos koodirivin syntaksi on jo esiintynyt aiemmin scriptissĂ€: unohda rivi. đ«ł
- TÀmÀn jÀlkeen poista kyseinen koodirivi tiedostosta.
TÀmÀn pitÀisi olla sinulle tuttua Bash-osuudesta.
AjansÀÀstöÀ tekoĂ€lyllĂ€! đ€
TÀssÀ tehtÀvÀssÀ on suorastaan suositeltua kÀyttÀÀ tekoÀlyÀ apuna selittÀmÀÀn, mitÀ kyseiset Powershell-kielen entuudestaan tuntemattomat koodirimpsut tekevÀt. Promptia muotoillessa kannattaa harkita Bash-osaamisesi esittely: kielimalli voi selittÀÀ sinulle termejÀ siten, ettÀ se vertaa niitÀ Bashin vastaaviin.