diff --git a/bash_completion b/bash_completion index 76852c53..73ae920d 100644 --- a/bash_completion +++ b/bash_completion @@ -888,6 +888,14 @@ _available_interfaces() COMPREPLY=( $( compgen -W '${COMPREPLY[@]/%[[:punct:]]/}' -- "$cur" ) ) } +# Echo number of CPUs, falling back to 1 on failure. +_ncpus() +{ + local var=NPROCESSORS_ONLN + [[ $OSTYPE == *linux* ]] && var=_$var + local n=$( getconf $var 2>/dev/null ) + printf %s ${n:-1} +} # Perform tilde (~) completion # @return True (0) if completion needs further processing, diff --git a/completions/lrzip b/completions/lrzip index 1569dab4..da1730aa 100644 --- a/completions/lrzip +++ b/completions/lrzip @@ -35,10 +35,7 @@ _lrzip() return 0 ;; -p) - local var=NPROCESSORS_ONLN - [[ $OSTYPE == *linux* ]] && var=_$var - local n=$( getconf $var 2>/dev/null ) - COMPREPLY=( $( compgen -W "{1..${n:-1}}" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "{1..$(_ncpus)}" -- "$cur" ) ) return 0 ;; esac