>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 Bug-bash@gnu.org http://lists.gnu.org/mailman/listinfo/bug-bash