我正在尝试将列表中的值分配给一组变量。变量数从1开始,并根据列表中的值数不断增加。
我做了一个快速的cluster = LocalCluster(processes=False)
循环,但是出现错误。
for
但是我收到这样的错误:
list="010 110 004"
num=0
for node in `echo $list`
do
((num+=1))
node_$num="my_host-$node.test.edu.com"
echo $node_$num
done
如何将列表中的值分配给越来越多的变量?
答案 0 :(得分:0)
您应该在bash
中使用它:
list=(010 110 004)
num=0
for node in "${list[@]}"; do
((num+=1))
var="node_$num"
# use declare to create and instanitate var=value
declare "$var"="my_host-$node.test.edu.com"
# examine value o f$var
declare -p "$var"
# or use this echo to print just value
# echo "${!var}"
done
declare -- node_1="my_host-010.test.edu.com"
declare -- node_2="my_host-110.test.edu.com"
declare -- node_3="my_host-004.test.edu.com"
还请注意使用shell数组来安全迭代有限项列表。