I am somehow confused on how I should write the usage text for parameters and arguments in a script. Wherever I look it's always different. Especially the way arguments are described and its syntax varies.
e.g. usage for parameters requiring flag with filename
$0 -f <filename>
$0 [-f filename]
$0 [-f] <filename>
$0 [-f] [filename]
$0 [-f <filename>]
$0 [-f] [<filename>]
e.g. usage for parameters which are optional (-f, -g, -h)
$0 [-fgh]
$0 [<optional>]
$0 [-[fgh]]
$0 [-<fgh>]
$0 -fgh
$0 -[fgh]
etc.
This might be a minor issue, but annoying, as the syntax is always different and sometimes it actually means something different, but you can't see it, because it doesn't follow any conventions. What's your opinion about it, and what is the best practise to write a usage text with appropriate syntax?