Wie der Zugriff auf die übrigen Argumente in einem Fisch-Skript
my-fish-script a b c d
Sagen, Sie wollen das alle Argumente aus dem zweiten argument an, so b c d
.
In der bash können Sie shift
dump das erste argument und den Zugriff auf die übrigen mit "$@"
.
Wie würden Sie das problem lösen, mit dem Fisch-shell?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Fisch, deine Argumente sind enthalten in den
$argv
Liste. Verwenden Sie die Liste aufschneiden, um Zugriff auf eine Reihe von Elementen, z.B.$argv[2..-1]
gibt alle Argumente von der zweiten zur letzten.Beispielsweise
Nutzung
set argv $argv[2..-1]
als eine direkte übersetzung von bash, ich meine. also ich denke, du bist umsetzen soll, ist die Logik etwas anders in der "idiomatischen Fisch"? es sei denn, es gibt einige built-in-Funktion, die eigentlich das gleiche Verhalten?shift
im Fisch? Wenn dem so ist, finden Sie unter die Antwort. Ansonsten ist diese Diskussion off-topic und man wäre besser dran, Fragen eine neue Frage.$0
argument (der name des Skripts)?status -f
?$argv[1]
Das Verhalten der
shift
Befehl kann simuliert werden, mitset -e/--erase VARIABLE_NAME
.Die Idee ist, löschen Sie das erste argument, dann bekommen Sie die restlichen Argumente aus der
$argv
Liste.Beispielsweise
Nutzung
set
nicht auf die alternative 'Zugriff' eine erste indizierte array-argument.Könnten Sie auch Lesen, die ist besser lesbar, meiner Meinung nach:
Dies funktioniert umso besser, vor allem, wenn Sie möchten, um mehr als das erste argument.