Мне пришлось создать массив bash в ОС Ma c следующим образом. $1
представляет # из git коммитов, которые вы хотите сохранить в массиве.
IFS=$'\n' read -rd '' -a array<<< "$(git log -n $1 | grep commit | awk '{print $2}')"
Я не могу получить доступ к последнему элементу массива как ${array[-1]}
. Я получаю сообщение об ошибке «массив: неверный индекс массива».
Однако, когда я создаю массив в ОС linux, я могу получить доступ к последнему элементу массива таким же образом, как и раньше.
readarray -t array <<< "$(git log -n $1 | grep commit | awk '{print $2}')"
echo ${array[-1]}
успешно на компьютере Linux, но не на компьютере с ОС Ma c.