📅  最后修改于: 2023-12-03 15:10:06.934000             🧑  作者: Mango
Bash 是一种 Unix shell,是许多 UNIX 系统的默认 shell。Bash 是 Bourne-Again SHell 的缩写,是 sh 的一种扩展版本。
在 Bash 中,我们可以使用数组来存储一系列的数据。拆分字符串并创建数组在 Bash 中是一个非常常见的任务,今天我们将重点讨论如何使用 Bash 拆分字符串并创建数组。
让我们来看一个例子,首先我们定义一个包含逗号分隔的字符串:
string="apple,banana,orange"
然后我们将这个字符串拆分,并创建一个数组:
IFS=',' read -ra array <<< "$string"
这个命令中,我们使用了 IFS
变量。IFS
是 Bash 的内置变量,它定义了在读取输入时要使用的分隔符。在这个例子中,我们将 IFS
设置为 ,
。然后我们使用 read
命令并将其与 -a
选项一起使用来创建一个数组。
最后,我们将 $string
中的值输入到 <<<
中,这是 Bash 中的 Here String 的一种形式。这使我们能够将输入传递给 read
命令。
现在我们可以输出这个数组中的元素:
for i in "${array[@]}"
do
echo $i
done
这个命令将循环数组中的每个元素,并输出它们。
有时字符串中的空格也被认为是分隔符,可以用下面的改进代码解决:
string="apple, banana, orange"
IFS=', ' read -ra array <<< "$string"
for i in "${array[@]}"
do
echo $i
done
这里我们使用 ,
,注意空格(即逗号+一个空格)作为分隔符。现在,这个数组中的每个元素都不包含空格。
拆分字符串并创建数组在 Bash 中是非常简单的。你只需要使用 IFS
变量定义分隔符,然后使用 read
命令创建数组,就可以对数组进行操作了。
希望本文能对你有所帮助!