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 は置き換えられません

Google では、配列と変数についてあまり見つけることができません。誰か助けてください。;) ありがとう!アレックス

bash --version GNU bash、バージョン 3.1.17(1)-release

4

1 に答える 1

3

+=に要素を追加するために使用してみてくださいtrigarrat:

declare -a pgidarr=`run "select partition_id from ETL.PARTITION_GROUP_MEMBER where partition_group_id=${PGID}"`
trigarrat=()
for i in ${pgidarr[@]}
do
    ARRLOOP=$i
    PAID=`run "select LPAD('${ARRLOOP}',2,'0')"` #LPAD the partition ID 
    FILENAME=ABCD_${PAID}_000000.txt
    trigarrat+=($FILENAME)
done

参照: http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameters

于 2013-03-27T18:05:45.060 に答える