加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 21:26:58 所属栏目:安全 来源:网络整理
导读:我正在尝试将元素添加到bash数组中,我无法弄清楚为什么不添加它们: $cat /tmp/tmp.bash#!/bin/bashdeclare -a base=("python""python-setuptools")packages=( "${base[*]}" "tools" "oracle" )echo "$packages"$/tmp/tmp.bashpython python-setuptools$ 在
我正在尝试将元素添加到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
$

在输出中,我们只看到基本数组元素,但不是我添加的两个元素.

知道我做错了什么吗?

解决方法

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

echo "${packages[@]}"

同样,当你展开$base时,你应该使用@ not *. *导致“python”和“python-setuptools”连接成一个数组条目:python python-setuptools“.

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

另请注意,不需要引用简单的字符串文字.你可以省略它们.

base=(
    python
    python-setuptools
)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读