Я пытаюсь прочитать английский словарь в Linux в ассоциативный массив, используя в качестве значения слова как ключи и предопределенную строку. Таким образом, я могу искать слова по ключевым словам, чтобы убедиться, что они существуют. Также мне нужно, чтобы все слова были строчными. Это довольно просто, но синтаксис bash мешает мне. Когда я запускаю код ниже, я получаю ошибку «плохой массив». Любые мысли о том, почему это может быть?Использование переменной в качестве ключа в ассоциативном массиве bash
function createArrayFromEnglishDictionary(){
IFS=$'\n'
while read -d $'\n' line; do
#Read string into variable and put into lowercase.
index=`echo ${line,,}`
englishDictionaryArray[$index]="exists"
done < /usr/share/dict/words
IFS=$' \t\n'
}
'IFS = $ '\ t \ n'' - это то же самое, что' unset IFS'. – jordanm
Что такое синтаксис '$ {VAR ,,}'? Я никогда не видел этого раньше и не могу найти ссылок в другом месте. –
${VAR,,}
означает строчный регистр в Bash. – philcolbourn