shell conditionals are strange