Я пытаюсь написать сценарий bash, чтобы разрешить мне выбрать один массив среди множества различных массивов. Для этой цели, Я намерен использовать простую переменную для ссылки на один массив.Использование переменной оболочки для выбора одного массива bash
#!/bin/bash
#To get all the members of a given array as the output
#variables
FIRST=(A B C D)
SECOND=(planes cars trains bicycles gocarts)
THIRD=(werewolfs vampires zombies ghosts daemons)
FOURTH=(football soccer basketball rugby batmington zumo)
FIFTH=(handguns rifles machineguns bazookas slingshots)
SIXTH=(dogs cats turtles ferrets birds hamsters fish)
SEVENTH=(monday tuesday wednesday thursday friday saturday sunday)
#execution
select ARRAY in "FIRST" "SECOND" "THIRD" "FOURTH" "FIFTH" "SIXTH" "SEVENTH"; do
OUTPUT=eval '"${'${ARRAY}'[@]}"'
echo $OUTPUT
break
done
#end
выше скрипт не работает. До сих пор я пытался заменить линию 9 с этими параметрами:
OUTPUT=eval '$'{ARRAY'[@]'}
OUTPUT=eval ${"$ARRAY"[@]}
OUTPUT=eval ${'$ARRAY'[@]}
OUTPUT=eval ${'$'ARRAY[@]}
OUTPUT=eval '$'{"$ARRAY"[@]}
OUTPUT=eval \${${ARRAY}[@]}
Что я здесь отсутствует?
К сожалению, я не конечно, я могу понять ваше решение. Как это может позволить мне выбрать один массив среди тех, которые я ранее определил, и распечатать все его элементы на выходе? Я снова извиняюсь, может быть, я слишком устал, чтобы увидеть это ... – user148854
Извините, мне кажется, что я неправильно понял ваш вопрос изначально. Я обновил свой ответ, я думаю, что теперь он решает настоящую проблему. – nicebyte
Это действительно проблема. Большое спасибо. – user148854