blob: 75e2249ffe05ba371d4f9706a9b4ed4b636ec278 [file] [log] [blame]
Chet Rameyac50fba2014-02-26 09:36:43 -05001args() { printf '<%s> ' "$@"; echo; }
2
3set -- 1 2 3 4 5
4
5args "${@} ${1}"
6args "${1} ${@}"
7args "${1}${@}${1}"
8args "${1} ${@} ${1}"
9args ${1}"$@"${1}
10args "$@"${1}
11args ${1}"$@"
12
13args "$@""${1}"
14args "${1}""$@"
15
16args "${@}foo"
17args ${@}${1}
18args ${@}foo
19
20IFS=
21args "$@""${1}"
22args "${1}""$@"
23
24args ${@}${1}
25args ${1}${@}
26args ${@}foo
27
28echo second set:
29IFS=$' \t\n'
30set -- '1 2' 3 4 5
31
32args "${@} ${1}"
33args "${1} ${@}"
34
35args "${1}${@}${1}"
36args "${1} ${@} ${1}"
37args ${1}"$@"${1}
38args "$@"${1}
39args ${1}"$@"
40
41args "$@""${1}"
42args "${1}""$@"
43
44args "${@}foo"
45args ${@}${1}
46args ${@}foo
47
48IFS=
49
50args "$@""${1}"
51args "${1}""$@"
52
53args ${@}${1}
54args ${1}${@}
55args ${@}foo
56
57echo third set:
58IFS=$' \t\n'
59
60alias declare=typeset
61
62a(){ echo
63 echo '"${@:2}a3 a2" a$1 #works as long as $1 and 3 are swapped'
64 echo "${@:2}a3 a2" a$1
65 "${@:2}a3 a2" a$1
66 echo $?
67 a=("${@}");}
68b(){ echo
69 echo '"${@:2}b$1 b2" b3 #fails! why?'
70 echo "${@:2}b$1 b2" b3
71 "${@:2}b$1 b2" b3
72 echo $?
73 b=("${@}");}
74c(){ echo
75 echo '${@:2}c$1 c2 c3 #works as long as quoting omitted'
76 echo ${@:2}c$1 c2 c3
77 ${@:2}c$1 c2 c3
78 echo $?
79 c=("${@}");}
80a x set y z;declare -p a
81b x set y z;declare -p b
82c x set y z;declare -p c