init version.
[bush.git] / tests / 2.dollor / dollar-at-star / dollar-at-star4.sub
blob9f7da8e8776106fc3048d79aaf09fc2cd857b21f
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 # tests for quoted and unquoted, split and unsplit expansions of $@ and $*
15 # Posix interpretation 221 speaks to this issue
17 set -- a b
18 IFS=
19 x=abc
21 printf "<%s>\n" ${x#$*}
23 a="a bc"
24 echo ${a#$*}
25 unset x a
27 a=$@
28 echo "$a"
30 a=$*
31 echo "$a"
33 printf '<%s>' $@ ; echo
35 IFS='   
38 a=$@
39 echo "$a"
41 a=$*
42 echo "$a"
44 unset a
46 unset IFS
47 set a b "c d"
48 printf '<%s>' $* ; echo
49 printf '<%s>' ${q-$*} ; echo
51 IFS=
52 set a b "c d"
53 printf '<%s>' $* ; echo
54 printf '<%s>' ${q-$*} ; echo
56 IFS=:
57 set a b
58 printf '<%s>' ${foo=$*} ; echo
59 printf '<%s>' "${foo}" ; echo
61 unset foo
62 IFS='   
64 printf '<%s>' ${foo=$@} ; echo
65 printf '<%s>' "$foo" ; echo
67 IFS=?
68 set a c
69 foo=abcd
71 echo ${foo#"$*"}
72 echo "${foo#$*}"
74 echo "${foo#'a?c'}"
75 echo "${foo#a?c}"
77 IFS=?
78 set a c
79 str=a$'\001'c
80 pat=a$'\001'
81 echo "${str#$pat}"
83 set a b
84 IFS=:
86 a=$@
87 recho "$a"
89 recho ${foo=$*}
90 recho "$foo"
92 unset foo
93 IFS='   
95 recho ${foo=$@}
96 recho "$foo"
98 shift $#
99 unset foo x
101 set -- a b
102 x=abc
104 IFS=
105 printf "<%s>\n" ${x#$*}
106 printf "<%s>\n" "${x#$*}"
108 x=abcd
109 set a c
110 IFS='?'
111 printf "<%s>\n" ${x#$*}
112 printf "<%s>\n" "${x#$*}"