improve of cmpl.
[bush.git] / tests / dollar-at5.sub
blob9b26c392774aaf273913713a45e46dfdd1cc578d
1 #   This program is free software: you can redistribute it and/or modify
2 #   it under the terms of the GNU General Public License as published by
3 #   the Free Software Foundation, either version 3 of the License, or
4 #   (at your option) any later version.
6 #   This program is distributed in the hope that it will be useful,
7 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #   GNU General Public License for more details.
11 #   You should have received a copy of the GNU General Public License
12 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
14 args() { printf '<%s> ' "$@"; echo; }
16 set -- 1 2 3 4 5
18 args "${@} ${1}"
19 args "${1} ${@}"
20 args "${1}${@}${1}"
21 args "${1} ${@} ${1}"
22 args ${1}"$@"${1}
23 args "$@"${1}
24 args ${1}"$@"
26 args "$@""${1}"
27 args "${1}""$@"
29 args "${@}foo"
30 args ${@}${1}
31 args ${@}foo
33 IFS=
34 args "$@""${1}"
35 args "${1}""$@"
37 args ${@}${1}
38 args ${1}${@}
39 args ${@}foo
41 echo second set:
42 IFS=$' \t\n'
43 set -- '1 2' 3 4 5
45 args "${@} ${1}"
46 args "${1} ${@}"
48 args "${1}${@}${1}"
49 args "${1} ${@} ${1}"
50 args ${1}"$@"${1}
51 args "$@"${1}
52 args ${1}"$@"
54 args "$@""${1}"
55 args "${1}""$@"
57 args "${@}foo"
58 args ${@}${1}
59 args ${@}foo
61 IFS=
63 args "$@""${1}"
64 args "${1}""$@"
66 args ${@}${1}
67 args ${1}${@}
68 args ${@}foo
70 echo third set:
71 IFS=$' \t\n'
73 alias declare=typeset
75 a(){ echo
76      echo '"${@:2}a3 a2" a$1    #works as long as $1 and 3 are swapped'
77      echo  "${@:2}a3 a2" a$1
78            "${@:2}a3 a2" a$1
79      echo   $?
80         a=("${@}");}
81 b(){ echo
82      echo '"${@:2}b$1 b2" b3    #fails!  why?'
83      echo  "${@:2}b$1 b2" b3
84            "${@:2}b$1 b2" b3
85      echo   $?
86         b=("${@}");}
87 c(){ echo
88      echo  '${@:2}c$1 c2 c3     #works as long as quoting omitted'
89      echo   ${@:2}c$1 c2 c3
90             ${@:2}c$1 c2 c3
91      echo   $?
92         c=("${@}");}
93 a x set y z;declare -p a
94 b x set y z;declare -p b
95 c x set y z;declare -p c