云服务器免费试用

shell字符串转数组空格问题怎么解决

服务器知识 0 1150

在Shell中,可以使用`IFS`(Internal Field Separator)环境变量来设置分隔符,从而将字符串转换为数组。默认情况下,`IFS`的值是空格、制表符和换行符。

shell字符串转数组空格问题怎么解决

当字符串中包含空格时,可以通过将`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'

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: shell字符串转数组空格问题怎么解决
本文地址: https://solustack.com/31154.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。