On Mon, Jan 19, 2015 at 03:22:36PM -0800, [email protected] wrote:
> Here is the minimal code sample to reproduce the bug (present in version 4.2,
> corrected in 4.3 as far as I can tell) :
>
> arr1=( "" "" )
> arr2=( "${arr1[@]:1}" )
Seems to be either a Debian-specific bug, or a bug that was fixed in a
later patch than Debian is using.
On Debian:
wooledg@wooledg:~$ echo "$BASH_VERSION"
4.2.37(1)-release
wooledg@wooledg:~$ arr1=( "" "" )
wooledg@wooledg:~$ arr2=( "${arr1[@]:1}" )
wooledg@wooledg:~$ declare -p arr1 arr2
declare -a arr1='([0]="" [1]="")'
declare -a arr2='()'
On HP-UX with bash compiled straight from source:
imadev:~$ bash-4.2
imadev:~$ echo "$BASH_VERSION"
4.2.46(1)-release
imadev:~$ arr1=( "" "" )
imadev:~$ arr2=( "${arr1[@]:1}" )
imadev:~$ declare -p arr1 arr2
declare -a arr1='([0]="" [1]="")'
declare -a arr2='([0]="")'