# 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 . # # these should produce the same results a=(aa bb) set -- aa bb IFS=+ recho ${a[@]} recho ${a[@]:0} recho $@ recho ${@:1} A=${a[*]} B=${a[*]:0} recho $* ${*:1} recho ${a[*]} ${a[*]:0} recho "$A" "$B" recho $A $B unset A B recho ${@/a/x} recho ${a[@]/a/x} recho "${@/a/x}" recho "${a[@]/a/x}" recho ${*/a/x} recho ${a[*]/a/x} recho "${*/a/x}" recho "${a[*]/a/x}" A=${*/a/x} B=${a[*]/a/x} recho "$A" "$B" unset A B declare -A A A[0]=aa A[1]=bb recho ${A[@]/a/x} recho "${A[@]/a/x}" recho ${A[*]/a/x} recho "${A[*]/a/x}" unset A IFS= recho ${@/a/x} recho ${a[@]/a/x} recho "${@/a/x}" recho "${a[@]/a/x}" recho ${*/a/x} recho ${a[*]/a/x} recho "${*/a/x}" recho "${a[*]/a/x}" A=${*/a/x} B=${a[*]/a/x} recho "$A" "$B" unset A B declare -A A A[0]=aa A[1]=bb recho ${A[@]/a/x} recho "${A[@]/a/x}" recho ${A[*]/a/x} recho "${A[*]/a/x}" unset A IFS=+ recho ${a[@]} recho ${a[@],,} recho "${a[@]}" recho "${a[@],,}" A=${a[*]} B=${a[*],,} recho $* ${*,,} recho ${a[*]} ${a[*],,} recho "${a[*]}" "${a[*],,}" recho "$A" "$B" recho $A $B unset A B declare -A A A[0]=aa A[1]=bb recho ${A[@],,} recho "${A[@],,}" recho ${A[*],,} recho "${A[*],,}" unset A recho ${a[@]#?} recho ${@#?} A=${a[*]#?} B=${a[*]#?} recho ${*#?} ${a[*]#?} recho "$A" "$B" recho $A $B unset A B declare -A A A[0]=aa A[1]=bb recho ${A[@]#?} recho "${A[@]#?}" recho ${A[*]#?} recho "${A[*]#?}"