我有一个包含以空格分隔的字符串的变量:
line="1 1.50 string" 我想用空格作为分隔符分割该字符串,并将结果存储在数组中,以便执行以下操作:
echo ${arr[0]} echo ${arr[1]} echo ${arr[2]} 输出
1 1.50 string 我在某个地方找到了行不通的解决方案:
arr=$(echo ${line}) 如果在此之后运行上面的echo语句,则会得到:
1 1.50 string [empty line] [empty line] 我也试过
IFS=" " arr=$(echo ${line}) 结果相同。有人可以帮忙吗?
为了将字符串转换为数组,请使用
arr=($line) 要么
read -a arr <<< $line 至关重要的是不要使用引号,因为这样做可以解决问题。 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。