📌  相关文章
📜  如何在 shell 脚本中获取数组输入 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:38:26.620000             🧑  作者: Mango

如何在 shell 脚本中获取数组输入 - Shell-Bash

在编写 shell 脚本时,有时需要从用户处获取数组类型的输入。本文将介绍几种获取 shell 脚本中数组输入的方法。

1. 直接输入

第一种方法是直接在脚本中输入数组。例如:

#!/bin/bash

# 直接输入数组
arr=("apple" "banana" "orange" "pear")

# 输出数组元素
for i in "${arr[@]}"
do
    echo $i
done

在上述脚本中,直接在脚本中定义了一个数组,并使用了 ${arr[@]} 来遍历数组元素,输出数组元素。

2. 使用 read 命令

第二种方法是使用 read 命令输入数组。例如:

#!/bin/bash

# 通过 read 命令输入数组
arr=()
echo "Please enter the elements of the array:"
while read element
do
    arr+=("$element")
done

# 输出数组元素
echo "The elements of the array are:"
for i in "${arr[@]}"
do
    echo $i
done

在上述脚本中,使用了 read 命令输入数组元素,并将其添加到数组 arr 中。使用 ${arr[@]} 遍历数组元素,输出数组元素。

3. 使用命令行参数

第三种方法是通过命令行参数传递数组元素。例如:

#!/bin/bash

# 通过命令行参数输入数组
arr=("$@")
echo "The elements of the array are:"
for i in "${arr[@]}"
do
    echo $i
done

在上述脚本中,使用 $@ 获取命令行参数传递的数组元素,并遍历输出数组元素。

4. 从文件中读取

第四种方法是从文件中读取数组元素。例如:

#!/bin/bash

# 从文件中读取数组
arr=($(cat path/to/file))
echo "The elements of the array are:"
for i in "${arr[@]}"
do
    echo $i
done

在上述脚本中,使用 cat 命令将文件的内容读取到一个字符串中,并使用 $() 将字符串解析成数组。然后使用 ${arr[@]} 遍历数组元素,输出数组元素。

以上就是在 shell 脚本中获取数组输入的几种方法。通过这些方法,您可以更方便地编写 shell 脚本,处理数组类型的输入。