From: Keith.S.Thompson+u@gmail.com   
      
   Janis Papanagnou writes:   
   [...]   
   > The problem with a choice of -h for that is that this letter h might   
   > be a good choice for an existing functional option and would then not   
   > be available any more for that. (I thus consider this "convention" a   
   > badly decided thing as far as -h is concerned, while --help is okay.)   
   >   
   > We've thus used -? for that usage purpose, a _non-letter_ character;   
   > it was standard in all our tools and I'm still using that convention   
   > in my private context.   
   [...]   
      
   '?' is a shell wildcard, matching a single character in a file name.   
      
   "foo -?" will expand to "foo -x" if you happen to have a file in   
   the current directory named "-x" (and foo's "-x" option obviously   
   tells it to delete your home directory). If you have no such file,   
   the behavior of "foo -?" depends on your shell and its settings,   
   but typically no substitution takes place.   
      
   This is specific to the behavior of shells on Unix-like systems,   
   but if you're writing a C program intended to work on such systems   
   (and possibly others), it's good to be aware of the issue.   
      
   Few Unix commands use "-?" to mean "print a usage message".   
   For those that do, I would escape the question mark.   
      
   --   
   Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com   
   void Void(void) { Void(); } /* The recursive call of the void */   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|