我正在尝试将一个包含三个值的数组分配给变量,如果尚未使用该行分配的话
: ${SEAFILE_MYSQL_DB_NAMES:=(ccnet-db seafile-db seahub-db)}
不幸的是,回声${SEAFILE_MYSQL_DB_NAMES[@]}结果(ccnet-db seafile-db seahub-db)并${SEAFILE_MYSQL_DB_NAMES[2]}没有打印任何内容.看来,该值已被解释为字符串而不是数组.有什么方法可以让我的脚本以这种方式分配数组吗?
这个问题出现在Debian Jessie上,有bash 4.3.30(如果重要的话,在docker容器中).有趣的是,相同的代码可以在Ubuntu 16.04上使用bash版本4.3.42,它可以像我期望的那样作为数组处理.