English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В массив можно поместить несколько значений. Bash Shell поддерживает одномерные массивы (не поддерживает многомерные массивы), при инициализации не нужно определять размер массива (как в PHP).
Как и в большинстве языков программирования, индекс элемента массива начинается с 0.
Массивы в Shell определяются с помощью круглых скобок, элементы разделены символом "Пробел", грамматический формат следующий:
array_name=(value1 value2 ... valuen)
#!/bin/bash # author:Основной курс # url:ru.oldtoolbag.com my_array=(A B "C" D)
Мы также можем использовать индекс для определения массива:
array_name[0]=value0 array_name[1]=value1 array_name[2]=value2
Общий формат чтения значения элемента массива:
${array_name[index]}
#!/bin/bash # author:Основной курс # url:ru.oldtoolbag.com my_array=(A B "C" D) echo "Первый элемент: ${my_array[0]}" echo "Второй элемент: ${my_array[1]}" echo "Третий элемент: ${my_array[2]}" echo "Четвертый элемент: ${my_array[3]}"
Выполнение скрипта, результат вывода будет следующим:
$ chmod +x test.sh $ ./test.sh Первый элемент: A Второй элемент: B Третий элемент: C Четвертый элемент: D
Использование @ или * позволяет получить все элементы массива, например:
#!/bin/bash # author:Основной курс # url:ru.oldtoolbag.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "Элементы массива: ${my_array[*]}" echo "Элементы массива: ${my_array[@]}"
Выполнение скрипта, результат вывода будет следующим:
$ chmod +x test.sh $ ./test.sh Элементы массива: A B C D Элементы массива: A B C D
Методы получения длины массива такие же, как и получения длины строки, например:
#!/bin/bash # author:Основной курс # url:ru.oldtoolbag.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "Количество элементов массива: ${#my_array[*]}" echo "Количество элементов массива: ${#my_array[@]}"
Выполнение скрипта, результат вывода будет следующим:
$ chmod +x test.sh $ ./test.sh Количество элементов массива: 4 Количество элементов массива: 4