Hi Ingo,
> Ouch. My first attempt to fix this with "test -n" failed miserably:
>
> [...]
> if test -n ""; then \
> for f in ; do \
> cp -f $f /home/schwarze/Local9/share/man/man5/g`basename $f`; \
> done; \
> fi
> bash: -c: line 2: syntax error near unexpected token `;'
The time-honoured way to achieve this is using the built-in `set'.
$ l='foo bar xyzzy'
$ set -- $l; for f; do echo f=$f; done | fmt
f=foo f=bar f=xyzzy
$
$ l='foo bar'
$ set -- $l; for f; do echo f=$f; done | fmt
f=foo f=bar
$
$ l='foo'
$ set -- $l; for f; do echo f=$f; done | fmt
f=foo
$
$ l=
$ set -- $l; for f; do echo f=$f; done | fmt
$ set -- $l; for f; do echo f=$f; done | wc -c
0
$
--
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy