added topic about arrays in bash scripts cheatsheet

This commit is contained in:
cheatsnake 2022-08-31 19:02:13 +03:00
parent c0e0ef6ab8
commit d1ece69e8b

View File

@ -318,4 +318,47 @@ case $COMMAND in
esac
```
> Случай со звездочкой * отработает лишь в том случае, если не подойдет ни одно из условий выше.
> Случай со звездочкой * отработает лишь в том случае, если не подойдет ни одно из условий выше.
## Массивы
Массивы позволяют хранить целую коллекцию данных в одной переменной. С этой переменной можно удобно и легко взаимодействовать:
```sh
array=('aaa' 'bbb' 'ccc' 'ddd')
echo "Элементы массива: ${array[@]}"
echo "Первый элемент массива: ${array[0]}"
echo "Индексы элементов массива: ${!array[@]}"
array_length=${#array[@]}
echo "Длинна массива: ${array_length}"
echo "Последний элемент массива: ${array[$((array_length - 1))]}"
```
```
$ bash script.sh
Элементы массива: aaa bbb ccc ddd
Первый элемент массива: aaa
Индексы элементов массива: 0 1 2 3
Длинна массива: 4
Последний элемент массива: ddd
```
> Обратите внимание, что элементы массива разделются пробелом без запятой.
Элементы массива можно добавлять/перезаписывать/удалять по ходу выполнения скрипта:
```sh
array=('a' 'b' 'c')
array[3]='d'
echo ${array[@]} # a b c d
array[0]='x'
echo ${array[@]} # x b c d
array[0]='x'
echo ${array[@]} # x b c d
unset array[2]
echo ${array[@]} # x b d
```