Bash скрипт как изменить элемент массива

Как можно заменить элемент в массиве bash? Например, если третьим элементом в массиве число 3, нужно заменить его на 2, приравнивая к 3-1, выдает ошибку.


Ответы (1 шт):

Автор решения: Arnaud Valmary
#! /bin/bash

$ declare -a arr=(a b c)

$ echo ${arr[*]@A}
declare -a arr=([0]="a" [1]="b" [2]="c")

$ echo ${arr[2]}
c

$ declare -i IDX=3
$ echo ${arr[$(( IDX - 1 ))]}
c

$ arr[$(( IDX - 1 ))]="d"
$ echo ${arr[$(( IDX - 1 ))]}
d
$ echo ${arr[*]@A}
declare -a arr=([0]="a" [1]="b" [2]="d")
→ Ссылка