On Tuesday 11 December 2007 08:17:12 Peter Volkov wrote:
> Some eclasses (kernel-2, font) use variable to pass space separated PATH
> to patch or fontconfig files from ebuild to eclass. In ebuild we use:
>
> FONT_CONF="path1 path2"
>
> Then eclasses use the variable:
>
> for conffile in ${FONT_CONF}; do
>       ...
> done
>
> The problem with this doesn't work if path{1,2} contain spaces. The
> solution I'm thinking about is to you arrays:
>
> FONT_CONF=("path1" "path2")
>
> for conffile in "[EMAIL PROTECTED]"; do
>       ...
> done
>
> But is this good idea? Are there better?

FONT_CONF=path1:path2

IFS=.
for for conffile in ${FONT_CONF}; do
....
done
unset IFS

Or if you want to be really picky about preserving IFS if you can't make it 
local in a function

SIFS=${IFS-y} OIFS=${IFS}
IFS=.
for for conffile in ${FONT_CONF}; do
....
done
if [ "${SIFS}" = "y" ]; then
   unset IFS
else
   IFS=${OIFS}
fi

That way you work the same way as the classic $PATH variable.

But of course no one cares as it's Just Not Bash (tm)

Thanks

Roy
-- 
[EMAIL PROTECTED] mailing list

Reply via email to