| From: Marcus Furlong <furlongm at hotmail.com>
| Date: Sat, 18 Aug 2007 22:05:07 +0100
|[ ... ]
| Maybe try setting IFS to be just <newline> instead of <space>,
| <tab> and <newline>? Add this to the start of your script.
|
| IFS="
| "
|
| That should handle the spaces anyway, not sure how to best go
| about odd characters.
since the OP is (probably) using the GNU bash(1)
shell, a (possibly) easier to understand version
of the above would be to use the (rare) $'...'
syntax, which supports C-style escapes. e.g.,
to set IFS to be just a newline:
IFS=$'\n'
without testing, it looks like with one additional
fix the OP's script would handle any odd character
(except, with this suggestion (or the tempfile or
the pipe-equivalent), newline). the OP's line:
mb2md -s "$j" -d "$MAILDIR$i/.$(basename $j)"
should be:
mb2md -s "$j" -d "$MAILDIR$i/.$(basename "$j")"
(note the added double-quotes around the argument
to basename(1)). or, as I noted earlier (which
also contains a suggestion on handling newline),
that line could be rewritten as:
mb2md -s "$j" -d "$MAILDIR$i/.${j##*/}"
cheers!
-blf-
--
▶ ▶ I AM CURRENTLY LOOKING FOR A JOB! ◀ ◀ | Brian Foster
Experienced (>25 yrs) software engineer: | Montpellier, FRANCE
• Unix, Linux, embedded, design-for-test; | Stop E$$o (ExxonMobile)!
• Software/hardware co-design, debugging; | http:/www.stopesso.com
• Kernels, drivers, filesystems, &tc; Résumé (CV) & contact details:
• IDL, automated testing, process, &tc. http://www.blf.utvinternet.ie
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!