stolperte ich heute über das folgende Problem in zsh 5.1.1 (vereinfachtes Beispiel):Zsh: Verhalten von Zargs mit leerer Liste - ist das ein Fehler oder eine Funktion?
#!/bin/zsh
autoload -U zargs
zargs -- my*files(N) -- rm -v
Das funktionierte gut, bis eines Tages, gab es keine Dateien meine Muster entsprechen. Wegen der (N)
, wandte sich der Befehl in
zargs -- -- rm -v
ich erwartet hatte, dass in diesem Fall rm
würde nicht aufgerufen werden, in ähnlicher vergeblich wo xargs
den Befehl nicht aufrufen, wenn die imput leer. Allerdings wurde rm
einmal aufgerufen, ohne Argumente, was dann dazu führte, dass eine Fehlermeldung geschrieben wurde.
der Tat können wir sehen, dass
zargs -- -- echo xxx
auch echo
einmal aufruft.
Die Dokumentation von zargs
in der Manpage ist in dieser Hinsicht nicht wirklich klar, aber ich denke, dass ohne Argumente der Befehl überhaupt nicht aufgerufen werden sollte.
Haben wir einen Fehler, oder soll zargs
wirklich auf diese Weise funktionieren?