Technisch sind alle Argumente für Shell-Skripts optional. Das Skript entscheidet, ob Argumente fehlen und was dagegen zu tun ist. Dies kann je nach Ihren Anforderungen auf verschiedene Arten erfolgen. Für ein Skript, das nur ein optionales Argument hat, würde Folgendes funktionieren:
#!/usr/bin/env sh if [ ${#1} -eq 0 ] then git commit -m "default message" else git commit -m "$1" fi
Dies prüft, ob die Länge des ersten Arguments Null ist und entsprechend wirkt. Wenn das erste Argument fehlt, zählt es als Länge Null. Sie können auch die Anzahl der Argumente überprüfen, indem Sie mit dem Argument vergleichen $#
.
Eine kürzere Variante des obigen Skripts, die die Ersetzung leerer Argumente nutzt, ist:
#!/usr/bin/env sh git commit -m "$"
Dies wird hier unter "2.6.2 Parametererweiterung" beschrieben.