On Wednesday 23 December 2009 19:51:02 Mun wrote: > I am moving from ksh93 to bash and have a question regarding the usage > of ${parameter:-word} parameter expansion. > > In ksh, I use ${*:-.} as an argument to commands. For example: > > function ll > { > ls --color -Flv ${*:-.} > } > > This technique passes '.' as an arg to 'ls' if I didn't pass any args on > the command line (as I'm sure you all already know). But this does not > work with bash; nor have I been able to come up with a technique that > accomplishes the same thing. My only workaround so far is to put an > 'if' loop around the 'ls' that tests $# and takes the appropriate branch > depending on the number of args (i.e., 0 or non-zero).
your code works fine for me $ ll() { ls --color -Flv "$@:-.}" ; } $ ls() { echo "$@" ; } $ ll --color -Flv . $ ll moo --color -Flv moo -mike
signature.asc
Description: This is a digitally signed message part.