xref: /dflybsd-src/tools/regression/bin/sh/parameters/positional9.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/parameters/positional9.0 291903 2015-12-06 14:09:31Z jilles $
2*3e3895bfSKrzysztof Piecuch# Although POSIX leaves the result of expanding ${#@} and ${#*} unspecified,
3*3e3895bfSKrzysztof Piecuch# make sure it is at least numeric.
4*3e3895bfSKrzysztof Piecuch
5*3e3895bfSKrzysztof Piecuchset -- bb cc ddd
6*3e3895bfSKrzysztof Piecuchset -f
7*3e3895bfSKrzysztof Piecuchlengths=${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
8*3e3895bfSKrzysztof PiecuchIFS=
9*3e3895bfSKrzysztof Piecuchlengths=$lengths${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
10*3e3895bfSKrzysztof Piecuchcase $lengths in
11*3e3895bfSKrzysztof Piecuch*[!0-9]*)
12*3e3895bfSKrzysztof Piecuch	printf 'bad: %s\n' "$lengths"
13*3e3895bfSKrzysztof Piecuch	exit 3 ;;
14*3e3895bfSKrzysztof Piecuch????????????????*) ;;
15*3e3895bfSKrzysztof Piecuch*)
16*3e3895bfSKrzysztof Piecuch	printf 'too short: %s\n' "$lengths"
17*3e3895bfSKrzysztof Piecuch	exit 3 ;;
18*3e3895bfSKrzysztof Piecuchesac
19