The "?" is the C shell way of saying "if the variable isn't defined, return NULL rather than an error." In Bash undefined variables by default are equal to NULL so as long as it was quoted properly, it wouldn't be an error. A neat alternative in Bash, however, is to use a notation like...