如何将字符串转换为BASH数组?

时间:2012-08-09 12:35:51

标签: arrays bash

给出以下字符串,由jsawk生成:

[123,456,789]

是否有一种惯用的方式将其转换为BASH中的数组?

2 个答案:

答案 0 :(得分:3)

删除括号,然后使用IFS分隔逗号 使用read填充数组。

foo="[123,456,789]"
IFS=, read -a list <<< "${foo:1:-1}"

这可以容纳任何以逗号分隔的字符串。

答案 1 :(得分:1)

您只需将标点符号转换为空格。

string='[123,456,789]'
array=(${string//[^0-9]/ })