shell将字符串按照空格划分成各个元素,保存到数组中
时间: 2024-09-15 17:04:18 浏览: 35
shell中字符串、数值的比较.rar_shell中字符串、数值的比较
在Shell脚本中,可以使用内置的字符串分割功能将字符串按照空格或其他分隔符划分为数组的各个元素。这里以bash为例,介绍如何实现这一过程。
首先,可以使用`read`命令配合`-a`选项将输入的字符串分割到数组中。例如:
```bash
str="one two three"
read -a array <<< "$str"
```
在这个例子中,`str`变量包含了用空格分隔的字符串`"one two three"`,通过`read -a array <<< "$str"`命令,`str`中的字符串会被分割,并且每个分割后的元素会依次保存到`array`数组中。
另外,如果是在脚本中已经有一个字符串变量,也可以使用以下方法进行分割:
```bash
str="one two three"
IFS=' ' # 设置分隔符为一个空格
array=($str)
unset IFS
```
在这个例子中,`IFS`变量设置为空格,这告诉bash使用空格作为字段的分隔符。然后将字符串`str`赋值给数组`array`,`str`中的每个单词将被分割并存储为数组的元素。最后,为了避免对后续的变量操作产生影响,通常需要将`IFS`的值重置回默认值。
阅读全文