Skript
I en Unix-miljö är ett skript en textfil som har följande egenskaper:
- filen är exekverbar
- den första raden i filen börjar med tecknena
#!
följt av sökvägen till det programsom ska användas för att tolka resten av textfilen
Shell-skript / skalskript
Ett shell-skript innehåller skalkommandon. Den första raden behöver därför peka ut vilket skal som ska användas. Nedanstående rad använder det skal som är förinställt för användaren:
#!/bin/sh
Nedanstående använder explicit skalet bash
:
#!/bin/bash
Den vanligaste filändelsen för ett shellskript är .sh
. Filändelsen har
dock ingen påverkan på skriptets funktionalitet.
Köra ett shell-skript
För att köra ett shell-skript, dvs en fil som uppfyller alla villkor för ett
skript och refererar till ett skalprogram i sin första rad, skriver vi bara dess
sökväg i terminalen. Om vi står i samma katalog som shell-skriptet skript.sh
skriver vi
$ ./skript.sh
Om skriptet ligger i en annan katalog kan vi självklart antingen ange den relativa eller den absoluta sökvägen till skriptet.
(Om du glömt bort vad det är för skillnad på en relativ sökväg och en absolut sökväg bör du repetera det.)
Python-skript
Ett pythonskript är ett skript som istället för att använda ett skalprogram för att köra textfilens innehåll använder en pythontolk. Detta betyder att den första raden i ett pythonskript behöver peka ut sökvägen till en pythontolk, t.ex.:
#!/usr/bin/python3
Ovanstående sökväg är fungerar dock inte om vi vill använda oss av en virtuell miljö eftersom ovanstående sökväg pekar explicit ut den pythontolk för Python 3 som är installerat på systemnivå.
Istället använder vi följande rad:
#!/usr/bin/env python3
Raden ovan använder programmet env
för att ta fram den miljö som användaren
har just nu och använder den för att hitta den version av programmet python3
som kommer först enligt den gällande miljön.
Köra ett pythonskript
Vi kör ett pythonskript på precis samma sätt som vi kör vilket skript som helst, d.v.s. att vi skriver dess sökväg i terminalen.
Argument till pythonskript
Vi vill ofta skicka argument till ett skript. För att ett pythonskript ska kunna
få reda på vilka argument som skickats till den använder vi oss av variabeln
argv
i modulen sys
. Argumenten är tillgängliga som en lista där det första
elementet är kommandot som körts, följt av varje argument som ett separat
element i listan.
Nedastående pythonkod skriver ut det första “riktiga” argumentet:
import sys
print(sys.argv[1])
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26