1
我有一个建立“动态”数组的问题。多个数组循环外壳
首先我创建一个数组,生成的文件名列表:在同一回路
declare -a pgidarr=`run "select partition_id from ETL.PARTITION_GROUP_MEMBER where partition_group_id=${PGID}"`
for i in ${pgidarr[@]}
do
ARRLOOP=$i
PAID=`run "select LPAD('${ARRLOOP}',2,'0')"` #LPAD the partition ID
FILENAME=ABCD_${PAID}_000000.txt
现在我想创建一个新的阵列
trigarrat=("${trigarrat[@]}" $FILENAME)
但是当我运行它不会取代$ FILENAME
在谷歌我找不到太多关于数组和变量,任何人都可以请帮助我吗? ;) 谢谢! 亚历
的bash --version GNU的bash,版本3.1.17(1)-release
你大概可以使用'PAID = $(printf“%.2d”$ i)'来避免只用于数字格式的数据库。 – 2013-03-27 18:10:14
你没有正确初始化'pgidarr';这是巧合的,数组中的唯一元素在不引用它的情况下展开数组之后会被拆分为单词。 '声明-a pgidarr =($(run ...))',然后'为我在$ {pgidarr [@]}“' – chepner 2013-03-27 18:19:03