Linux 拨号vps windows公众号手机端

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

lewis 6年前 (2019-03-19) 阅读数 11 #程序编程

在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'

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

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

热门