gpt4 book ai didi

arrays - 如何将元素添加到 bash 数组?

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

我正在尝试将元素添加到 bash 数组,但我无法弄清楚为什么没有添加它们:

$ cat /tmp/tmp.bash
#!/bin/bash

declare -a base=(
"python"
"python-setuptools"
)

packages=( "${base[*]}" "tools" "oracle" )
echo "$packages"

$ /tmp/tmp.bash
python python-setuptools
$

在输出中,我们只看到base 数组元素,但看不到我添加的两个。

知道我做错了什么吗?

最佳答案

$packages 扩展为第一个元素。要打印所有数组元素,请写:

echo "${packages[@]}"

同样,当你扩展$base时,你应该使用@而不是** 导致 "python""python-setuptools" 连接成一个数组条目:python python-setuptools".

packages=( "${base[@]}" "tools" "oracle" )

另请注意,无需引用简单的字符串文字。您可以省略它们。

base=(
python
python-setuptools
)

packages=("${base[@]}" tools oracle)
echo "${packages[@]}"

关于arrays - 如何将元素添加到 bash 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54681724/

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