我知道我可以使用现有数组作为可能未初始化的变量的默认值
default_values=(1 2 'value is a string')
array=("${array[@]-${default_values[@]}}")
正如已经回答的那样,例如,https://unix.stackexchange.com/a/195979/556459。
我想知道的是,是否可以通过显式指定变量的值来将这样的默认数组分配给变量,而不是引入辅助数组,例如default_values
?
通过将数组分配给变量的事实array=(value1 ...)
称为复合分配Bash 数组参考手册强烈建议这是特殊的语法,并且我不能通过使用(value1 ...)
要在 shell 参数扩展中替换的值的语法来简单地创建数组文字。虽然尝试确实失败了,也许我错过了一些替代方案?