将bash中的文本字符串转换为数组

Ayu*_*hra 12 unix linux bash shell ksh

如何将BASH中的字符串转换为bash中的数组!

我有一个字符串str,其中包含"title1 title2 title3 title4 title5" (空格分隔标题)

我希望将str修改为一个数组,该数组将在每个索引中存储每个标题.

dev*_*ull 28

为了将字符串转换为数组,请说:

$ str="title1 title2 title3 title4 title5"
$ arr=( $str )
Run Code Online (Sandbox Code Playgroud)

除非引用字符串,否则shell将对空格执行单词拆分.

为了遍历由此创建的数组中的元素:

$ for i in "${arr[@]}"; do echo $i; done
title1
title2
title3
title4
title5
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,这不适用于 Zsh;见 http://zsh.sourceforge.net/FAQ/zshfaq03.html (3认同)

per*_*eal 6

另一种使用 read 的方法:

read -a array <<< $str
Run Code Online (Sandbox Code Playgroud)