summaryrefslogtreecommitdiffstats
path: root/tests/dollar-star7.sub
blob: 72d6c24f5c3f9c610dbc81f2f4dbcba2d223a97c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# if IFS side effects in ${IFS=} assignments take place, how do you cope with
# later changes to IFS in the same set of expansions?  You've already
# committed to using the first character of the (old) IFS to expand $* in
# the previous expansions, and changing it to not include ' ', for instance,
# results in the first couple of ${*} below not being split at all

set -f -- a b c

unset -v IFS
printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
echo
printf "after 1: IFS "
echo "${IFS-unset}"
recho "$*"

set -f -- a 'b c' d
unset -v IFS
printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
echo
printf "after 2: IFS "
echo "${IFS-unset}"
recho "$*"

unset -v IFS
recho $*
recho "$*"

IFS=' '
recho $*
recho "$*"