Rewrite part of the code to better match the rest. Most notably, rewrite handling of: if [ ... ] && [ ... ] to: if [ ... -a ... ] This has the positive side effect of calling "[" only once, although "[" is probably a shell built-in.