Fish Shell:
Lesen von Kommandozeilenargumenten
Wie geht das:
# Einfacher Zugriff auf Argumente
for arg in $argv
echo "Argument: $arg"
end
# Ausgabe, falls Sie das Skript mit „fish myscript.fish one two three“ ausführen:
Argument: one
Argument: two
Argument: three
# Überprüfen der Anzahl der Argumente
if count $argv > 0
echo "Das erste Argument ist: $argv[1]"
else
echo "Keine Argumente angegeben."
endTiefer Eintauchen:
In Fish Shell ist $argv ein Array, das die Befehlszeilenargumente enthält. Historisch gesehen war der Zugriff auf Befehlszeilenargumente immer ein wichtiger Bestandteil der Unix-Philosophie, um kleine, aber mächtige Programme zu bilden, die miteinander kombiniert werden können. Andere Shells wie Bash nutzen $1, $2 etc., um auf Argumente zuzugreifen. Fish sorgt hier für mehr Lesbarkeit, indem $argv wie ein Array behandelt wird. Die Indexierung beginnt bei 1 statt bei 0, was für Anfänger intuitiver sein kann.
Details wie die Verwendung von Flags oder spezielle Optionsparser sind ebenfalls möglich, erfordern jedoch zusätzliche Befehle oder Extras wie argparse.
Weiterführende Links:
- Fish Shell Dokumentation: https://fishshell.com/docs/current/index.html
- Fish Shell Tutorial für Argument Parsing: https://fishshell.com/docs/current/tutorial.html#tut_scripting
- Argparse Dokumentation: https://fishshell.com/docs/current/cmds/argparse.html