improve of cmpl.
[bush.git] / tests / ifs.tests
blob27f27dd662a41242f6c5d8122947c132ac9ddfca
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 OIFS="$IFS"
15 IFS=":$IFS"
16 eval foo="a:b:c"
17 IFS="$OIFS"
18 echo $foo
20 OIFS=$IFS
21 IFS=":$IFS"
22 foo=$(echo a:b:c)
23 IFS=$OIFS
25 for i in $foo
27         echo $i
28 done
30 OIFS=$IFS
31 IFS=":$IFS"
32 foo=`echo a:b:c`
33 IFS=$OIFS
35 for i in $foo
37         echo $i
38 done
40 DEFIFS=$' \t\n'
42 # local copy of IFS that shadows global version
43 function f
45         typeset IFS=:
47         echo $1
50 function ff
52         echo $1
55 f a:b:c:d:e
56 x=a:b:c:d:e
57 echo $x
59 IFS=: ff a:b:c:d:e
60 echo $x
62 # doesn't get word split
63 IFS=$DEFIFS
64 # variable assignment doesn't use new value for word splitting
65 IFS=: echo $x
66 # but does this time because of the eval
67 IFS=: eval echo \$x
69 # in posix mode, assignments preceding special builtins and functions are global
70 set -o posix
71 IFS=: export x
72 echo $x
74 IFS="$DEFIFS"
76 ${THIS_SH} ./ifs1.sub