【发布时间】:2021-12-29 20:05:40
【问题描述】:
假设我有以下数组:
items[0]=0
items[1]=1
items[2]=2
等等
使用 echo/printf,我将如何只输出特定的单元格,例如只输出单元格 0、2、4。 到目前为止,我得到了这个:
echo "${items[*]}"
这会输出所有的数组,但我将如何更改这一行以使其仅输出指定的单元格?我很确定我只是错过了它的语法。
编辑:对不起,我不准确地描述了我在问什么。我需要了解的是,如何通过只调用一次数组来输出指定的数据点。
例如:
echo ${items[magical code stuff here]magical code stuff here too maybe}"
【问题讨论】:
-
这与
ssh无关。这纯粹是一个shell问题(大概是bash)。 -
bash 有一种简单的方法来打印数组的切片(一组连续的元素)(请参阅this answer),但没有简单的方法来打印不连续的元素列表。顺便说一句,您几乎不应该使用
[*],因为它将元素混合成一个字符串。使用"${array[@]}"来保持它们的区别。