I am curious if you tested with '&&'? With ';' they will all be run regardless of the previous commands exit status. Making it '&&' might be a bit safer/more defensive. Just a thought though.