gpt4 book ai didi

arrays - 默认值分配中的 Bash 数组值

转载 作者:行者123 更新时间:2023-11-29 09:00:57 25 4
gpt4 key购买 nike

我正在尝试将一个包含三个值的数组分配给一个变量,如果它还没有被分配的话

: ${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] } 什么都不打印。看起来,该值已被解释为字符串而不是数组。有什么方法可以让我的脚本以这种方式分配数组吗?

最佳答案

如何分几个阶段进行?首先声明回退数组,然后检查是否设置了 SEAFILE_MYSQL_DB_NAMES,并在需要时分配。

DBS=(ccnet-db seafile-db seahub-db)
[[ -v SEAFILE_MYSQL_DB_NAMES ]] || read -ra SEAFILE_MYSQL_DB_NAMES <<< ${DBS[@]}

基于 this answer .

关于arrays - 默认值分配中的 Bash 数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com