迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中打印数组元素

作者:迹忆客 最近更新:2023/05/16 浏览次数:

使用数组时,您可能需要查看数组中存储的数据。 在 Bash 脚本中,我们可以使用多种方法来打印数组元素。

本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。

此外,我们将看到必要的示例和解释,以使主题更容易理解。


在 Bash 中使用 echo 语句打印数组元素

在此方法中,我们将使用 echo 关键字打印数组的所有元素。 但是,此关键字将在一行中打印所有数组元素。

为此,您可以遵循以下示例代码:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: ${MyArray[@]}"

执行上述 Bash 脚本后,您将获得如下输出,

The array elements are: A B C D E

在 Bash 中使用 for 循环在单独的行中打印数组元素

在下面的示例中,我们将使用循环打印数组的元素。 您可以使用您喜欢的任何循环,但我们将在示例中使用 for 循环。

我们示例的代码如下所示:

MyArray=('A' 'B' 'C' 'D' 'E')

for item in "${MyArray[@]}"
do
  echo "$item"
done

在上面的示例中,您可以观察到 ${MyArray[@]} 代码的一部分。 这是为了在循环中获取数组的所有元素。

执行上述 Bash 脚本后,您将获得如下所示的输出:

A
B
C
D
E

在 Bash 中使用 history 关键字分行打印数组元素

我们的下一个方法将使用关键字 history 来打印数组的元素。 但请注意,如果任何数组元素包含 !,此方法可能会失败。

在下面的示例中,我们将使用 history 关键字来打印数组元素。 我们示例的代码如下所示:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
history -p  "${MyArray[@]}"

执行上述 Bash 脚本后,您将获得以下输出:

The array elements are:
A
B
C
D
E

在 Bash 中使用 basename 关键字分行打印数组元素

我们还可以使用关键字 basename 打印数组的所有元素。 但请注意,如果任何数组元素包含 !,此方法可能会失败。

在下面的示例中,我们将使用 basename 关键字来打印数组元素。 我们示例的代码如下:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
basename -a "${MyArray[@]}"

执行上述 Bash 脚本后,您将获得以下输出:

The array elements are:
A
B
C
D
E

在 Bash 中使用 shuf 关键字分行打印数组元素

Bash 中还有另一个内置关键字,我们可以使用它来达到打印数组元素的相同目的,它是 shuf。 但请注意,此方法可能无法按顺序提供输出。

在下面的示例中,我们将使用 shuf 关键字来打印数组元素。 我们示例的代码如下所示:

MyArray=('A' 'B' 'C' 'D' 'E')
echo "The array elements are: "
shuf -e "${MyArray[@]}"

执行上述 Bash 脚本后,您将获得以下输出:

The array elements are:
B
A
C
E
D

您可以根据需要选择上述任何一种方法。

请注意 ,本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:https://www.jiyik.com/tm/xwzj/opersys_6450.html

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便