Isn't [[]] is a bash-ism? (Not Bourne Shell safe) I'm also not a fan of side effect programming (using the short-circuiting this way), but this is admittedly accepted practice in shell scripts & is more compact than an if T; then X; fi