Zsh Mailing List Archive
Messages sorted by:
Re: zargs doesn't work reliably
- X-seq: zsh-workers 22616
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-workers <zsh-workers@xxxxxxxxxx>
- Subject: Re: zargs doesn't work reliably
- Date: Thu, 17 Aug 2006 19:42:25 -0700
- In-reply-to: <237967ef0608171559k1bd8053bxf7a3d1cb53ef33e7@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <237967ef0608171559k1bd8053bxf7a3d1cb53ef33e7@xxxxxxxxxxxxxx>
On Aug 17, 3:59pm, Mikael Magnusson wrote:
} Usage: zargs [options --] [input-args] [-- command [initial-args]]
} % touch -- -- -+
There are approximately eleventeen zillion unix/linux commands that
break given those file names, including rm, ls, and cp, so I'm not
going to get particularly worked up about zargs behaving similarly.
However, if you'd looked just a little further, you'd find that in
fact zargs already has a solution for this problem. There is even
an example in the manual:
In the event that the string `--' is or may be an INPUT, the -e
option may be used to change the end-of-inputs marker. Note that
this does _not_ change the end-of-options marker. For example, to
use `..' as the marker:
zargs -e.. -- **/*(.) .. ls -l
This is a good choice in that example because no plain file can be
named `..', but the best end-marker depends on the circumstances.
(End manual page example, begin new one.) You can even do:
zargs -e$'\0' -- * $'\0' ls -d
unless you somehow have a file named (the nul byte).
} since input-args is the only part you do not control
The only part who does not control?
} it should come last, like so
} Usage: zargs [options --] [command [initial-args]] -- [input-args]
I think the designers of the xargs command, after which zargs is closely
modeled, would disagree with you. See "man xargs".
} A problem is how to give -- as initial-args then
Precisely. Another problem is that the command and initial-args may be
omitted, but the input-args may not be.
Messages sorted by: