Извините, если я опубликую вопрос по теме, обсуждаемой десятки раз. Я пытаюсь работать с элементом ассоциативного массива и назначить его массиву. Я знаю, что в bash ассоциативные массивы являются монодинамическими, но, используя расширение строк в кавычках в bash, я бы назначил массив. В конце концов мне удалось сделать это в два этапа, но я не знаю, зачем мне это дополнительное задание и могу ли я его избежать.

Вот сценарий

FILE="/home/user/scripts/snapstbylist"

 declare -A stby
 while read line; do
    DS=${line%@*}
    SNAPSHOT=${line#*@}
    stby+=(["$DS"]=" $SNAPSHOT")
done < <(awk '/stby/{print $1}' $FILE)

for ds in "${!stby[@]}"; do
 #       echo ":-) $ds"
         DATASET2=( "${stby["$ds"]}" )

         DATASET=($DATASET2)

         LAST="${DATASET[-1]}"
         echo "The dataset list $ds contains ${#DATASET[@]} elements, i.e. ${DATASET[@]}"
done

DATASET2 - это строка со словами, в конце концов, DATASET - это массив, который я хочу. Есть ли способ избежать назначения DATASET =($ DATASET2) и иметь в качестве DATASET2 массив, который я хочу?

Extract of the file /home/user/scripts/snapstbylist

zserver02/home/GROUP/biastby@d20140123  227K    -       471M    -
zserver02/home/GROUP/biastby@d20140128  233K    -       471M    -
zserver02/home/GROUP/biastby@d20140129  206K    -       471M    -
zserver02/home/GROUP/biastby@d20140130  240K    -       471M    -
zserver02/home/GROUP/biastby@d20140131  438K    -       471M    -
zserver02/home/GROUP/biastby@d20140201  244K    -       471M    -
zserver02/home/GROUP/biastby@d20140202  220K    -       471M    -
zserver02/home/GROUP/biastby@d20140204  0       -       832M    -
zserver02/home/GROUP/bloombergstby@d20131119    0       -       148K    -
zserver02/home/GROUP/bloombergstby@initback02   0       -       148K    -
zserver02/home/GROUP/caestby@d20131228  0       -       626M    -
zserver02/home/GROUP/gtistby@d20140125  0       -       131K    -
zserver02/home/GROUP/juastby@d20140107  0       -       130K    -
zserver02/home/GROUP/kepstby@d20140118  0       -       138K    -
zserver02/home/GROUP/koastby@d20131227  93K     -       145K    -

Я мог бы подвести итог, почему

"$ {STBY [" $ Д.С. "]}"

в

DATASET2 =("$ {stby [" $ ds "]}")

не расширяется?

Заранее спасибо,

Alex

0