在perl中,只需执行以下操作即可存储和迭代名称列表

my @fruit = (apple, orange, kiwi);
foreach (@fruit) {
        print $_;
}

bash中的等价物是什么?

===============>>#1 票数:45 已采纳

bash(与POSIX sh不同)支持数组:

fruits=(apple orange kiwi "dried mango")
for fruit in "${fruits[@]}"; do
  echo "${fruit}"
done

这样做的优点是数组元素可能包含$ IFS的空格或其他成员; 只要它们作为单独的元素正确插入,它们就会以相同的方式读出。

===============>>#2 票数:11

像这样:

FRUITS="apple orange kiwi"
for FRUIT in $FRUITS; do
  echo $FRUIT
done

请注意,如果水果名称中有空格,则无效。 在这种情况下,请参阅此答案 ,这可能性稍差,但更强大。

===============>>#3 票数:6

既然我喜欢的答案已被接受为正确的答案,我现在将进入另一个主题:如何使用IFS获取个人利益。 :-P

fruits="apple,orange,kiwifruit,dried mango"
(IFS=,
 for fruit in $fruits; do
     echo "$fruit"
 done)

我已将代码放在括号中,以便IFS更改被隔离到其自己的子进程中; 因此,在括号部分的末尾, IFS将恢复其旧值。 :-)

===============>>#4 票数:4

for i in apple orange kiwi
do
  echo $i
done

  ask by convex hull translate from so

未解决问题?本站智能推荐:

3回复

什么是bash中的列表?

我在这里搜索过类似的问题,但令人惊讶的是找不到任何问题。 在GNU bash中,有一个名为“ arrays ”的(一个构造?一个结构?一个数据类型?)。 数组在bash文档中有详细记录,所以我认为我理解了基础知识。 但突然间,在文档中也出现了“列表”一词。 例如,在讨论文件名扩展
2回复

如何在bash中创建列表(或类似列表)数组?

我想遍历bash中的一些列表。 现在我有 这行不通。 有什么方法可以在bash中创建列表列表,数组数组或列表数组? 我想遍历list1,然后遍历list1中的listitems。 然后遍历list2和list2中的列表项。
2回复

在bash中迭代数组列表

我需要在bash中迭代几个键值数组(关联数组)。 这是我的最后一次尝试: 这当然是错误的(语法错误),但此时此刻,我没有其他想法如何处理它。 而在以下示例中没有错误,但输出只是数组的名称。 编辑 好的,我能够通过使用eval来做到这一点: 但是,我读到在bash
1回复

在Bash中,如何将数字列表转换为数字范围?

目前我有一个命令的数字排序输出: 18,19,62,161,162,163,165 我想将这些数字列表压缩成单个数字或数字范围的列表 18-19,62,161-163,165 我想过尝试在bash中对数组进行排序并读取下一个数字以查看它是否为+1 ...我有一
1回复

从bash中的目录列表填充数组

我一直在尝试获取ls /Applications/的输出,并将每行放入一个数组中,然后对该数组进行for循环。 它不起作用,我发现即使尝试使用以下方法声明一个简单数组也是如此: 输出为item1 [1]。 它采用第一个元素,并构成整个数组。 为什么会这样呢? 我在做什么傻事
1回复

如何遍历在bash脚本中创建的数组列表

根据这篇文章中的建议,我正在bash脚本中创建数组列表- 如何在bash中声明2D数组 (Athos爵士编辑2)- 编辑2:要将a0..a3 [0..4]声明并初始化为0,可以运行: 现在,我很难访问新创建的数组。 我试图遍历并重新创建与创建时相同的数组名称,但是导致“错误替
1回复

创建并遍历Bash中的数字列表

我正在尝试在大约200个选择端口上使用cURL,并且我希望不必同时执行每个URL。 我也在尝试学习Bash的基础知识。 我想做的是创建一个数字列表,然后遍历每个数字。 这是我所拥有的: 这可能做到吗?还是我认为水平太高? 谢谢!
1回复

bash脚本shuf并保存在列表中

我有A个数字,我想选择B个而不重复,然后保存到列表中。 像这样: 我该怎么做? A是我代码中的字符串,因为我在Mac中,所以我使用gshuf而不是shuf
1回复

使用perl数组作为bash bedtools命令的输入

我想知道是否可以使用perl数组作为名为bedtools( http://bedtools.readthedocs.org/en/latest/ )的程序的输入 该数组本身由bedtools通过perl中的backticks方法生成。 当我尝试在另一个bedtools bash命令中使用
2回复

将Perl数组传递给bash脚本

我正在尝试使用Perl脚本连接到Footprints API。 我正在使用Perl,因为那是Footprints API可以使用的几种语言之一。 我希望这个Perl脚本从Footprints收集数据,将数据放置在数组中,然后将该数组传递回调用它的Shell脚本。 如何将数组从Per