]>
Commit | Line | Data |
---|---|---|
1 | # $FreeBSD: head/bin/sh/tests/builtins/getopts1.0 297752 2016-04-09 16:06:13Z jilles $ | |
2 | ||
3 | printf -- '-1-\n' | |
4 | set -- -abc | |
5 | getopts "ab:" OPTION | |
6 | printf '%s\n' "${OPTION}" | |
7 | ||
8 | # In this case 'getopts' should realize that we have not provided the | |
9 | # required argument for "-b". | |
10 | # Note that Solaris 10's (UNIX 03) /usr/xpg4/bin/sh, /bin/sh, and /bin/ksh; | |
11 | # ksh93 20090505; pdksh 5.2.14p2; mksh R39c; bash 4.1 PL7; and zsh 4.3.10. | |
12 | # all recognize that "b" is missing its argument on the *first* iteration | |
13 | # of 'getopts' and do not produce the "a" in $OPTION. | |
14 | printf -- '-2-\n' | |
15 | set -- -ab | |
16 | getopts "ab:" OPTION | |
17 | printf '%s\n' "${OPTION}" | |
18 | getopts "ab:" OPTION 3>&2 2>&1 >&3 3>&- | |
19 | printf '%s\n' "${OPTION}" | |
20 | ||
21 | # The 'shift' is aimed at causing an error. | |
22 | printf -- '-3-\n' | |
23 | shift 1 | |
24 | getopts "ab:" OPTION | |
25 | printf '%s\n' "${OPTION}" |