Linux
I Linux operativsystemet används bash kod för att skriva script kommandon. Därför kallas det ibland ‘Bash script’. Skript kan finnas i många andra sammanhang och språk exempelvis JavaScript. Ett script är en enkel text fil, som innehåller terminal kommandon och programmeringskod. Med syfte att automatisera kommandon du vill återanvända, så du slipper skriva dom själv varje gång de behövs.
Skapa och använd ett script
Det som gör en bash script fil körbar under Linux är att text filen har filändelsen .sh i slutet av filnamnet och även har följande kod på den första raden:
#!/bin/bash
Som säger åt operativsystemet att använda bash språket för att tolka filens innehåll.
För att köra ett bash script i Linux så behöver vi först vara i rätt sökväg (adressen till mappen där script filen ligger). Kontrollera det med pwd, ls och cd om du är osäker.
Kommando för att starta scriptet är att skriva filens namn, men börja alltid namnet med punkt och snedstreck ( ./ ). Det gör att operativsystemet vet att filen ska behandlas som ett körbart program, istället för en enkel text fil.
./filename.sh
Exempelkod
Prova öppna filen .bashrc, en script fil som ligger i användarens hemma mapp (~). Det är en standardfil som alltid körs när en användare loggar in. Använd en text editor som nano för att öppna och ändra innehållet i filen.
Lägg till på sista raden i den filen.echo "Välkommen hem:" $USER
Prova sedan logga ut och in igen, eller starta om datorn.
En annan användbar sak vi kan använda .bashrc till är att skapa egna alias till kommandon. Ett alias är ett alternativt namn som kan användas istället för det vanliga kommandot. Vi kan då skapa genvägar till kommandon eller varianter av kommandon som vi ofta använder.
ls (list) kommandot har många olika växlar vi kan använda, beroende på vad du vill veta eller hur mycket information du vill ha. Här är några varianter du kan vilja lägga i din .bashrc:
# alias ll='ls -l'
# alias ll='ls -la'
# alias la='ls -A'
# alias l='ls -CF'
alias är här ett kommando. ll är det namn du vill använda för ditt alias. ='ls -l' är det kommando du vill ska köra när alias används.
Notera här att raderna börjar på # (hashtag eller hage), i bash språket är det en markering för en kommentar. Det betyder att om den rad kod börjar med # så kommer datorn att ignorera den. Den raden används inte i en körbar fil. Kommentarer är användbara när du vill säga något till en människa som läser filen.
Nu när vi vet det, testa ta bort # på de rader du vill använda. De andra kan vara kvar, som referens, utifall du behöver dom senare.
Prova sedan starta om datorn (för att .bashrc ska läsas in på nytt) och skriv exempelvis ll i prompten som ett kommando.
Här kommer några lite mer avancerade exempel på vad vi kan vilja använda alias till.
alias update='sudo apt update && sudo apt upgrade -y'
alias perm='stat -c '"'"'%a %n'"'"''
alias aliases="cat ~/.bashrc | grep alias"
Prova lägga till dom och se vad dom gör.
Referenser:
Bash introduktion med exempel.
Ändra färg och utseende på din terminal.
Windows
Från och med Windows 7 och framåt så har Powershell som script språk funnits och som professionella användare så är det idag den standarden vi ska använda i Windows.
Skapa och använd ett script
För Windows script är det bara filändelsen som berättar för operativsystemet att det är en script fil ( .ps1 ). Så skapa en tom text fil, döp om den till "filnamn.ps1". Windows ger då en varning att filtypen ändras, det är helt ok. Annars behövs ingen särskild första rad i filen själv. Den kan innehålla bara din kod och ändå fungera.
För att köra ett Powershell script från terminalen, gör på samma sätt som för ett bash script. Skriv ./ i början av filnamnet.
Men för att köra en script fil i grafisk desktop, måste vi högerklicka på filen, tex. i utforskaren. Och välja "Kör med Powsershell" / “Run with powershell”. Om vi inte gör det så öppnas filen i en editor istället, så du kan se innehållet. Windows har ett inbyggt program för att editera Powershell script som heter “Windows Powershell ISE”.
Ett problem vi ofta stöter på då är att vissa kommandon i en script fil kan kräva Administratörs rättigheter, för att lösa det måste vi köra scriptet inifrån en terminal som har admin rättigheter. För att få fram den, högerklicka på Powershell programmet i Windows menyn och välj “Kör som administratör / Run as Administrator”, som har vissa bra funktioner såsom en sökbar ordlista på kommandon.
Exempelkod
För att skriva ut ett meddelande i terminalen, motsvarande echo i Linux. Prova:
Write-Host "Det här är ett bra script!"
En god praxis för script kan vara att kombinera flera kommandon som ska köras i följd, varje gång du använder dom. Ett exempel på det är Systemfilsgranskaren, då du alltid bör köra uppdateringsprogrammet DISM innan du kör reparations-verktyget. Ett script för det bör därför innehålla följande två rader:
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
När den lokala DNS cachen strular, så hjälper ofta kommandot ipconfig /flushdns (eller den nyare varianten: Clear-DnsClientCache). Men det finns tillfällen då nätverket strular av en mer oklar anledning. Då kan vi vilja göra en mer grundlig omstart av nätverkskortet också. Vi kan göra det i ett script med följande kommandon:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
ipconfig /registerdns
Som standard när du kör ett script i Windows från skrivbordsläge så stänger fönstret sig själv så snart sista kommandot är färdigt. Ofta går det så fort att skärmen bara blinkar till. Det kan finnas tillfällen då du vill se resultatet av ett script, tex. från ett felsökningsverktyg. Prova lägg till raden:Read-Host "Press enter to exit"
I slutet av ditt skript, spara och kör igen, se vad som händer.