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