CBFalconer dixit:
if gcc dummy.c > /dev/null 2>&1 && [ -r "$A_OUT" ] && [ x"`./"$A_OUT" 2> /dev/null`" = x"" ]; then
I thought it might be escaping a quote mark.
Due to some people still not getting that $(...) is to be used over the less portable `...` that can happen ;)
Also an interesting read on the ` character: http://www.cl.cam.ac.uk/~mgk25/ucs/apostrophe.html
if gcc dummy.c >/dev/null 2>&1 && [ -r "$A_OUT" ] \ && [ x"$(./"$A_OUT" 2>/dev/null)" = x"^C" ]; then
bye, //mirabile
PS: I prefer the following ;) but that's not too portable since it requires mksh:
if gcc dummy.c >/dev/null 2>&1 && [[ -r $A_OUT ]] \ && [[ $(./"$A_OUT" 2>/dev/null) = ^C ]]; then