title: How to denote that a command line argument is optional when printing usage
body: <p>Assume that I have a script that can be run in either of the following ways.</p>
  
  <pre><code>./foo arg1 arg2
  ./foo
  </code></pre>
  
  <p>Is there a generally accepted way to denote that arg1 and arg2 aren't mandatory arguments when printing the correct usage of the command?</p>
  
  <p>I've sometimes noticed usage printed with the arguments wrapped in brackets like in the following usage printout.</p>
  
  <pre><code>Usage: ./foo [arg1] [arg2]
  </code></pre>
  
  <p>Do these brackets mean that the argument is optional or is there another generally accepted way to denote that an argument is optional? </p>