]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/dollar-star7.sub
bash-5.1 distribution sources and documentation
[thirdparty/bash.git] / tests / dollar-star7.sub
CommitLineData
8868edaf
CR
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.
5#
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.
10#
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/>.
13#
ac50fbac
CR
14# if IFS side effects in ${IFS=} assignments take place, how do you cope with
15# later changes to IFS in the same set of expansions? You've already
16# committed to using the first character of the (old) IFS to expand $* in
17# the previous expansions, and changing it to not include ' ', for instance,
18# results in the first couple of ${*} below not being split at all
19
20set -f -- a b c
21
22unset -v IFS
23printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
24echo
25printf "after 1: IFS "
26echo "${IFS-unset}"
27recho "$*"
28
29set -f -- a 'b c' d
30unset -v IFS
31printf '<%s> ' ${*}${IFS=}${*}${IFS:=-}"${*}"
32echo
33printf "after 2: IFS "
34echo "${IFS-unset}"
35recho "$*"
36
37unset -v IFS
38recho $*
39recho "$*"
40
41IFS=' '
42recho $*
43recho "$*"