delorie.com/archives/browse.cgi | search |
Matt Wozniski wrote: > > email user AT example -s test -a "$(sh -c 'IFS=,; echo "$*"' -- *.pdf)" \ > > <sample.txt > > But that won't work for files with commas in the name! (Rare, but it > can happen...) I'd prefer something like This still works fine for filenames with commas since it uses $* which joins the positional parameters which have already been split (before the subprocess was even invoked), before IFS is changed to ",". But if a filename has a comma in its name then it is impossible to express it as a list of comma-separated filenames without some form of quoting. And I doubt that the email program has backslash-escape parsing logic for this very rare case (but I haven't checked.) Regardless, this: > email user AT example -s test -a "$(ls -1 *.pdf | tr '\n' ',' )" < sample.txt ...does not solve the problem either. You get the same output as above, except with an erronious trailing ",". Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |