freebsd-dev/bin/sh/tests/parameters/positional9.0
Jilles Tjoelker d253cfe3b2 sh: Add limited test for ${#@} and ${#*}.
POSIX leaves the result of expanding ${#@} and ${#*} unspecified, but ensure
it is numeric.
2015-12-06 14:09:31 +00:00

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