Так как позволяется сделать a=5 ; echo $a
, Я задавался вопросом, возможно ли объявить списки и другие структуры данных (такие как кортежи, словари) в терминале?
И если так, они изменяемый, или они должны быть unset
сначала?
Можно также использовать array
; самый простой метод создания переменной типа массив должен присвоить значение одному из его индексов:
TEST[0]=zero
TEST[1]=one
TEST[2]=two
или, с:
TEST=(zero one two)
теперь, Вы получаете доступ к нему следующим образом:
${TEST[index]}
т.е.
echo "First Index: ${TEST[0]}"
или можно получить доступ ко всем объектам в массиве одним из следующих способов:
${TEST[*]}
${TEST[@]}
Для большего количества справки прочитайте это полезное руководство
Действительно ли это возможно. Можно использовать списки и его изменяемое.
Попробуйте что-то вроде этого:
arr=(1 2 3)
echo ${list}
echo ${list[1]}
arr[1]=4
echo ${list}
echo ${list[1]}
echo ${list} | xargs -n 1
И, для словаря необходимо будет создать хеш-функцию.
Для знают, как сделать это:
https://stackoverflow.com/a/3467959/1585576
Его легкое для итерации по списку с xargs
и также можно добавить модульные тесты к сценарию: https://code.google.com/p/shunit2/