2016-08-04 131 views
0

我有以下bash代码,并希望将该字符串转换为传递给不同程序的命令行参数。BASH: - 将字符串解析为单独的命令行参数

所以我GETVARS,想分裂,这样做

./somecommand $ GETVARS [0] $ GETVARS [1]

GETVARS将任何随机长度的元素。

GETVARS = "" 
     for id in {100..500..10} 
      do 
       for letter in A B C D E F 
       do 
        GETVARS=$GETVARS"\":${id}:${letter}\" " 
       done 
     done 
    //GETVARS = "":100:A" "100:B" "100:C"" .. and so on 

回答

0

首先

getvars="" # no spaces around commas, use smaller case variable names 

和要求,你清楚地寻找一个简单的数组像

getvars=() # or do declare -a getvars 

我不清楚有关要求,但低于是我猜你应该做的

for id in {100..500..10} 
    do 
for letter in A B C D E F 
    do 
    getvars+=(\":${id}:${letter}\") # adding elements to array 
done 
done 
#and later do the following 
./somecommand "${getvars[@]}" # Each element will be separated to a word 
+0

谢谢!那是我需要的 – user3896519