массив Shell
Массив может хранить несколько значений. Bash Shell поддерживает только одномерные массивы (не поддерживает многомерные массивы), нет необходимости, чтобы определить размер массива не инициализируются (похожими на PHP).
Как и в большинстве языков программирования, индекс элементов массива, начиная с нуля.
Shell использовать круглые скобки для обозначения элемента массива с символом "пространство" отделенной, синтаксис выглядит следующим образом:
array_name=(value1 ... valuen)
примеров
#!/bin/bash # author:本教程 # url:www.w3big.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:www.w3big.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:www.w3big.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:www.w3big.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