init version.
[bush.git] / tests.bak / varenv9.sub
blob5837aa545a0518e1c909f94d13776d1384cc441c
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 # case 1: readonly modifying local scalar variables
15 o1() {
16     local i1 j1
17     readonly i1=$1
18     readonly j1="1 2 3"
20     echo "in o1 (readonly modifying local scalars):"
21     declare -p i1
22     declare -p j1
25 o1 "a b c"
27 echo after o1:
28 declare -p i1 j1
30 unset i1 j1
32 # case 2: readonly setting global scalar variables
33 o2() {
34     readonly i2=$1
35     readonly j2="1 2 3"
37     echo "in o2 (readonly setting global scalars):"
38     declare -p i2
39     declare -p j2
42 o2 "a b c"
43 echo after o2:
44 declare -p i2 j2
46 unset i2 j2
48 # case 3: readonly modifying local variables, converting to arrays
49 o3() {
50     local i3 j3
51     readonly i3=($1)
52     readonly j3=(1 2 3)
54     echo "in o3 (readonly modifying locals, converting to arrays):"
55     declare -p i3
56     declare -p j3
59 o3 "a b c"
60 echo after o3:
61 declare -p i3 j3
63 unset i3 j3
65 # case 4: readonly setting global array variables
66 o4() {
67     readonly i4=($1)
68     readonly j4=(1 2 3)
70     echo "in o4 (readonly setting global array variables):"
71     declare -p i4
72     declare -p j4
75 o4 "a b c"
76 echo after o4:
77 declare -p i4 j4
79 unset i4 j4