Я боролся с новой для меня концепцией - ассоциативными массивами в сценарии bash.
Вот упрощенная версия моего кода:
#!/bin/bash
declare -A MYID
MYID[hello]=world
tac /home/user/filename | while read -r line; do
MYID[hello]=me
done
echo "${MYID[hello]}"
exit
Вот что я думал, что это будет делать: 1) объявить ассоциативный массив с именем MYID 2) в MYID присвоить значение world ключу hello 3) прочитать файл /home/user/filename в обратном порядке строка за строкой 4) каждый раз, когда он читает строка назначит меня ключу hello в массиве MYID 5) распечатайте «me» и выйдите
Что он делает, так это печатает «мир» вместо «я». Что я делаю неправильно?