1
我有一个bash脚本(array_test.sh)如下:
ARRAY=()
v="FOO"
ARRAY+=(${v})
v="BAR"
ARRAY+=(${v})
echo ${ARRAY[@]}
echo ${#ARRAY[@]}
echo ${ARRAY[0]}
当我运行该脚本直接(./array_test.sh),我得到了如下结果:
FOO BAR
2
FOO
但是,当我采购它(来源./array_test.sh),最后FOO
丢失:
FOO BAR
2
那是一个错误或错误的东西在我的小脚本?
如果你把'#!/ bin中/ bash'作为第一行是否改变剧本? – Barmar
与你的问题没有直接关系,但仅供参考,你误解了Bash中的引号:当他们完全没有做任何事情时,你会包括它们,当它们有潜在用途时将它们排除在外。如果你使用Google Bash引号,你会发现很多信息。 – ruakh
我无法重现该行为。试用bash 3.2.57和4.2.37。 – Barmar