在shell中,可以使用`IFS`(Internal Field Separator)环境变量来设置分隔符,从而将字符串转换为数组。
在shell中,可以使用`IFS`(Internal Field Separator)环境变量来设置分隔符,从而将字符串转换为数组。默认情况下,`IFS`的值是空格、制表符和换行符。
当字符串中包含空格时,可以通过将`IFS`设置为只包含换行符的值来解决该问题。例如:
#!/bin/bash
str="apple banana orange"
IFS=$'\n' arr=($str)
echo "${arr[0]}"
echo "${arr[1]}"
echo "${arr[2]}"
上面的示例代码将`IFS`设置为只包含换行符的值,然后使用空格分隔符将字符串`str`转换为数组`arr`。这样,即使字符串中包含空格,也可以正确地将其转换为数组。
输出结果为:
apple
banana
orange
注意,当`IFS`被修改时,需要在转换完成后将其恢复为默认值,避免对后续代码的影响。可以使用以下代码将`IFS`恢复为默认值:
IFS=$' \t\n'
--结束END--
本文标题: shell字符串转数组空格问题怎么解决
本文链接: https://lsjlt.com/news/202369.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0