# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # a=(outside) f1() { readonly a=(1) ; } f2() { readonly -a a=(2) ; } f3() { readonly 'a=(3)' ; } f4() { readonly -a 'a=(4)' ; } f1 echo -n after f1: declare -p a f2 echo -n after f2: declare -p a f3 echo -n after f3: declare -p a f4 echo -n after f4: declare -p a b=(outside) c=(outside) d=(outside) f2() { readonly -a b=(2) ; } f3() { readonly 'c=(3)' ; } f4() { readonly -a 'd=(4)' ; } f2 echo -n after f2: declare -p b f3 echo -n after f3: declare -p c f4 echo -n after f4: declare -p d ${THIS_SH} ./attr1.sub ${THIS_SH} ./attr2.sub