# 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 . # var=( $'\x01\x01\x01\x01' ) declare -p var pv() { local -a foo foo=( "${var[@]}" ) declare -p foo } pv # these are wrong through bash-5.1; there is a fix tagged for bash-5.2 # when I uncomment that fix, these results will reflect it pv1() { local -a foo=( "${var[@]}" ) declare -p foo } pv1 pv2() { local -a foo=( [0]="${var[@]}" ) declare -p foo } pv2 pv3() { local -A foo=( v "${var[@]}" ) declare -p foo } pv3 pv4() { local -A foo=( [v]="${var[@]}" ) declare -p foo } pv4