Skip to content

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À:

PowerShell
# 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À:

  1. Lataa tiedosto: curl -sSLf https://example.com/install.ps1 > to-inspect.ps1
  2. Avaa Visual Studio Codessa: code to-inspect.ps1
  3. 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.