Order of parameters for command-line tools [duplicate]
Possible Duplicate:
Can command-line commands be made insensitive to order of filenames and options?
It looks like the OS X built-in command line tools, such as ls, du etc are rather strict with regards to the order of parameters.
To illustrate, a command for showing disk usage, 'du', accepts -h as a 'human readable' formatting directive for sizes. If you run the following under OS X Lion, this parameter is ignored:
du . -h
To get it to work, you need to specify the parameter fist, then the location, like that:
du -h .
Coming from Linux (ubuntu) background this seems strange to me - under Ubuntu you can do it either way. This is also becomes quite annoying at times, especially when you realise that you've forgotten to specify a parameter for long command and have to move the cursor to the beginning of it.
Hence is the question: can I change the 'default' behavior of command line tools to be more forgiving? Also, what's the reason for that restriction? A BSD legacy?
I believe that handling of the parameter order is compiled into the executable. This would mean you'd have to modify the source code of the program(s) to change this behavior.