我在 bash(4.2.25 版)复制带有空元素的数组时遇到问题。当我将数组的副本复制到另一个变量中时,它不会随之复制任何空元素。
#!/bin/bash
array=( 'one' '' 'three' )
copy=( ${array[*]} )
IFS=$'\n'
echo "--- array (${#array[*]}) ---"
echo "${array[*]}"
echo
echo "--- copy (${#copy[*]}) ---"
echo "${copy[*]}"
当我这样做时,这里是输出:
--- array (3) ---
one
three
--- copy (2) ---
one
three
原始数组包含所有三个元素,包括空元素,但副本没有。我在这里做错了什么?