$ a["a-1"]="a1"
bash: a["a-1"]: bad array subscript
$ declare -a a
$ a["a-1"]="a1"
bash: a["a-1"]: bad array subscript
$ declare -A a
bash: declare: a: cannot convert indexed to associative array
$ declare -A b
$ b["a-1"]="a1"
$ echo $BASH_VERSION
4.4.12(1)-release
ну на питоне хотя б. Он конечно тоже попахивает, но в нем всяко проще разобраться чем в башепростынях.
У меня просто наболело: копаюсь сейчас в чужих шедеврах на баше, и хочется умереть.
Не подходит, это прожорливый долго запускающийся монстр, в качестве шелла им пользоваться ещё ладно, но скрипты запускать, которые за пару миллисекунд могут отработать, если не запускать такого жиробаса — бред.
... ошибочку, которая указана в этой статейке, вроде уже подправили.
А вообще, у bash-а есть одна существенная особенность - его конструкции нельзя использовать просто «по аналогии» с другими языками программирования. Всегда нужно предварительно читать справочные материалы. Особенно это касается массивов )