bfe5e9c164
POSIX leaves the result of expanding ${#@} and ${#*} unspecified, but ensure it is numeric.
19 lines
432 B
Plaintext
19 lines
432 B
Plaintext
# $FreeBSD$
|
|
# Although POSIX leaves the result of expanding ${#@} and ${#*} unspecified,
|
|
# make sure it is at least numeric.
|
|
|
|
set -- bb cc ddd
|
|
set -f
|
|
lengths=${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
|
|
IFS=
|
|
lengths=$lengths${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
|
|
case $lengths in
|
|
*[!0-9]*)
|
|
printf 'bad: %s\n' "$lengths"
|
|
exit 3 ;;
|
|
????????????????*) ;;
|
|
*)
|
|
printf 'too short: %s\n' "$lengths"
|
|
exit 3 ;;
|
|
esac
|