如何使用shell脚本在不同的变量集中存储逗号分隔值

时间:2018-02-23 00:21:05

标签: bash shell

我的shell脚本中有以下字符串:

myString="app.mykey.value1,app.mykey.value2,app.mykey.value3,app.mykey.value4"

在分割逗号分隔值后,我想将每个值存储在不同的变量中。例如:

var1=app.mykey.value1
var2=app.mykey.value2
var3=app.mykey.value3
var4=app.mykey.value4

我如何在shell脚本中实现这一点?

1 个答案:

答案 0 :(得分:0)

要安全地生成var1var2等,请使用declare

readarray -td, vals <<<"$myString"
i=1
for val in "${vals[@]}"
do
    declare "var$((i++))=$val"
done

但是,对于大多数用途,最好直接使用数组vals而不是创建shell变量var1,....