On 4 February 2010 21:43, Shlomi Fish <[email protected]> wrote: > On Thursday 04 Feb 2010 21:12:54 Dotan Cohen wrote: >> I hope there is a bash guru out there today. I need to script a backup >> plan which has a list of directories that should not be backed up. >> Some of these directories have spaces in their filenames. The >> following script works so long as there are no directories with spaces >> in DONT_COPY, however, I cannot figure out what to do to get it to >> work _with_ spaces in filenames: >> >> #!/bin/bash >> >> DONT_COPY=" >> .adobe/ >> File with Spaces >> .bin/google-earth >> Yet Another Annoying Filename >> " > > Use a bash array/list/whatever-it's-called: > > DONT_COPY=(.adobe/ "File With Spaces" .bin/google-earth "Yet Another Annoying > Filename") >
For readability (and thus maintainability) I prefer one entry per line. >> >> DONT_COPY_LIST="" >> for pattern in $DONT_COPY ; do DONT_COPY_LIST="$DONT_COPY_LIST >> --exclude=$pattern "; done > > Here you should do: > > <<< > DONT_COPY_LIST+="--exclude='$pattern' " >>>> > Thanks. > You can also use Perl/Python/Ruby/etc. which are more robust for such stuff. > I though about Python, but with other tools in the script it is in fact better off in Bash. This is just a small part of it. -- Dotan Cohen http://what-is-what.com http://gibberish.co.il Please CC me if you want to be sure that I read your message. I do not read all list mail. _______________________________________________ Linux-il mailing list [email protected] http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
