>Oh, for pete's sake. Take a systematic approach, as Andreas suggested.
>First, arrange for the filenames you want to be delimited by newlines.
>Since this is for your own use, and you can more-or-less guarantee that
>there will never be a newline in a filename, that's sufficient. Second,
>arrange things so that the shell won't split words on anything but
>newline, your desired delimiter.
>
>Take a look at the approach in the following example script. `recho' is
>part of the bash distribution; it's built while running the test suite.
>I used `ls -1' to create a newline-delimited list of filenames.
>
>$ cat x3
>[ -d scratch ] || mkdir scratch
>cd scratch
>touch 'a b w' 'c d x' 'e f y' 'g h z'
>
>IFS=$'\n'
>recho $(ls -1 *)
>$ ../bash-3.2/bash ./x3
>argv[1] = <a b w>
>argv[2] = <c d x>
>argv[3] = <e f y>
>argv[4] = <g h z>
>
Easier is just:
ls -1 *
Why not give an example which effectively does "vi `grep -l PATTERN *`"?
Your example isn't of any use.
There isn't any problem with passing spaces in args except when
backticks or $() are involved.
Bahser
_______________________________________________
Bug-bash mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-bash