30 lines
704 B
Text
30 lines
704 B
Text
# 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 "$*"
|