30 Jun
2010
30 Jun
'10
9:47 p.m.
Calling your args with $* will do nasty things if any of your args has a space in it. "$@" will always do The Right Thing. Just test the command directly, don't run it and then grab its exit value. --- functions | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/functions b/functions index 0acdbbf..9d0aec3 100644 --- a/functions +++ b/functions @@ -123,14 +123,12 @@ stat_die() { status() { stat_busy "$1" shift - $* >/dev/null 2>&1 - if [ $? -eq 0 ]; then + if "$@" >/dev/null 2>&1; then stat_done return 0 - else - stat_fail - return 1 fi + stat_fail + return 1 } # usage : in_array( $needle, $haystack ) -- 1.7.1