cat <<\EOF usage: some-command [options] ... some-command does foo and bar! -h, --help show the help --[no-]foo some nifty option --foo --[no-]bar ... some cool option --bar with an argument -b, --[no-]baz a short and long option An option group Header -C[...] option C with an optional argument -d, --[no-]data[=...] short and long option with an optional argument Argument hints -B short option required argument --[no-]bar2 long option required argument -e, --[no-]fuz short and long option required argument -s[] short option optional argument --[no-]long[=] long option optional argument -g, --[no-]fluf[=] short and long option optional argument --[no-]longest a very long argument hint --[no-]pair with an equals sign in the hint --[no-]aswitch help te=t contains? fl*g characters!` --[no-]bswitch hint has trailing tab character --[no-]cswitch switch has trailing tab character --[no-]short-hint with a one symbol hint Extras --[no-]extra1 line above used to cause a segfault but no longer does EOF