Skripte erhalten Argumente als $1, $2, ... ; $# ist die Anzahl und $@ alle Argumente. Funktionen definierst du mit name() { ... }; sie nutzen ebenfalls $1 für ihre Parameter. Mit local halten Variablen innerhalb der Funktion. Prüfe Argumente, bevor du loslegst, und gib bei Fehlern eine Anleitung aus.
#!/usr/bin/env bash
set -euo pipefail
verwendung() {
echo "Aufruf: $0 NAME" >&2
exit 1
}
gruss() {
local name="$1"
echo "Hallo $name!"
}
[[ $# -eq 1 ]] || verwendung
gruss "$1"Merke
$1,$2,$#,$@für Argumentelocalfür Variablen in Funktionenexit 1beendet mit Fehlercode
Aufgabe
Schreibe ein Skript, das alle übergebenen Dateien zählt und ausgibt.