shell 字符串转数组
时间: 2023-04-24 10:04:46 浏览: 126
shell 中字符串转数组可以通过以下两种方式实现:
1. 使用 read 命令将字符串转换为数组
例如,将以空格分隔的字符串转换为数组:
```
str="hello world"
read -a arr <<< "$str"
echo ${arr[0]} # 输出 hello
echo ${arr[1]} # 输出 world
```
2. 使用 IFS(Internal Field Separator)变量将字符串转换为数组
IFS 变量用于指定 shell 中的字段分隔符,默认情况下为空格、制表符和换行符。我们可以将 IFS 变量设置为我们想要的分隔符,然后使用 for 循环将字符串分割成数组。
例如,将以逗号分隔的字符串转换为数组:
```
str="apple,banana,orange"
IFS=',' read -ra arr <<< "$str"
echo ${arr[0]} # 输出 apple
echo ${arr[1]} # 输出 banana
echo ${arr[2]} # 输出 orange
```
以上两种方式都可以将字符串转换为数组,具体使用哪种方式取决于具体情况。
相关问题
shell字符串转数组
shell中可以使用以下命令将字符串转换为数组:
```
str="a b c d e"
arr=($str)
```
这样就将字符串`"a b c d e"`转换为了数组`arr`,数组中的元素分别为`a`、`b`、`c`、`d`、`e`。需要注意的是,数组元素之间的分隔符是空格,如果字符串中包含其他分隔符,需要使用相应的分隔符进行转换。
阅读全文