Allow combination of -value and |command (or ?status) suffixes,
without the latter part being duplicated.
set -- barcat
[ -r "$input" ] && set -- "$@" "$input"
- case "$name" in *\ -*) set -- "$@" -"${name#* -}";; esac
+ case "$name" in
+ *\ -*)
+ args="${name#* -}"
+ set -- "$@" -"${args% [?|]*}"
+ ;;
+ esac
case "$name" in
*' ?' ) set -- sh -c "\$0 \$@ 2>/dev/null" "$@";;
*' ?'*) set -- sh -c "\$0 \$@ | test \$\? = ${name#* \?}" "$@";;