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 "$*"
|