On Mon, Jun 21, 2010 at 1:06 AM, Allan McRae <[email protected]> wrote: > pmout=$(run_pacman -T "$@") <- HERE > ret=$? > > > The first one gets set off anytime "depends" or "makedepends" are empty and > can be fixed by using "|| return 0", but the second is doing my head in... > Of course, turning off the error trap around those commands makes it work, > and that may be an OK approach given we are dealing with all error states > below that. >
Try: ret=$? pmout=$(run_pacman -T "$@") || ret=$? Using || after the asigment will prevent setting the err trap. Funny how you noticed the first, because I was about to submit a patch that did not return false if there were no arguments. In reality though, it should be this: [[ $@ ]] || return 0 Because (( $# )) will not count emtpy arguments. If check_deps is passed quoted arguments that expand to nothing, it will malfunction. Andres P
