Läsa in kommandoradsargument

Bash:
Läsa in kommandoradsargument

Så här gör du:

#!/bin/bash
# script.sh

echo "Argument nummer ett: $1"
echo "Argument nummer två: $2"

if [ $# -eq 0 ]; then
    echo "Inga argument gavs."
else
    echo "Antalet givna argument är: $#"
fi

Körning och utskrift:

$ bash script.sh Älg Ost
Argument nummer ett: Älg
Argument nummer två: Ost
Antalet givna argument är: 2

Djupdykning

Argument på kommandoraden har funnits sedan de tidiga dagarna av Unix. De tillåter skript att vara flexibla och återanvändbara. Man brukar hantera argument med $1, $2,…, där $1 är det första argumentet. För att fånga alla argument använder man $@ eller $*, medan $# ger antalet argument.

Det finns mer avancerade alternativ som getopts eller getopt som stödjer switchar (som -h eller --help). Med dessa kan du skapa robusta och användarvänliga gränssnitt för dina skript.

Implementationen av dessa är standardiserade via POSIX, vilket betyder att din kod kan flyttas mellan olika system utan problem.

Se även: