Frank Küster <[EMAIL PROTECTED]> wrote: > Hm, that's strange. The line is: > > if [ $PERMS = $FONTCACHE_PERMS ] ; then > > maybe quotes around the variables would be better, but I don't understand > what's happening.
I believe I do. And yes, the solution is to add double quotes (if I am right). I believe $PERMS expands to nothing, presumably because of the: PERMS=$(stat --format="%a" /var/cache/fonts 2>/dev/null) || true which went through the "|| true" case. Therefore, the shell sees: if [ = stuff ]; then And you can try this at home, with sh -> bash: % if [ = azeeaz ]; then echo a; else echo b; fi sh: [: =: unary operator expected b % Same error message. HTH, -- Florent