голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Операции над массивами array BASH

Как обратиться к элементу массива и понять длину значения элемента массива? Эти вопросы довольно часто возникают. В BASH довольно чудной синтаксис и вывод значений массива выглядит не обычно. Покажу вам простые примеры вывода значений массива.


#!/bin/bash
# операции над массивами

array=(нулевой первый второй третий)
echo ${array[0]} #нулевой
echo ${array:0} #нулевой

echo ${#array[0]} #7
echo ${#array} #7
echo ${#array[1]} #6

echo ${#array[*]} #4
echo ${#array[@]} #4

exit 0

Во втором примере вы можете изменить ключи у значений массива.


#!/bin/bash
array2=([0]="первый элемент" [1]="второй элемент" [3]="четвертый элемент")
echo ${array2[0]} # первый элемент
echo ${array2[1]} # второй элемент
echo ${array2[2]} # Не был проинициализирован, поэтому null.
echo ${array2[3]} # четвертый элемент

exit 0

Вы можете вывести часть массива. Для этого не нужно создавать цикл и выводить значения по ключу. Посмотрите на пример. Конструкция arr[@]:1:2 позволяет вывести массив со второго элемента по третий. Нумерация ключей массива начинается с 0.


#!/bin/bash
arr=(один два три четыре); 
echo ${arr[@]:1:2}
#вывод: два три

О том как удалить элемент массива написано статье как удалить элемент массива unset BASH

просмотры: 1751, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-05-23 12:27:48
проголосовать:

Комментарии:






поиск
реклама
банеры
сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей