ассоциативный массив с двумя строками

возможно ли закодировать простой массив с ключом и значением со строкой в ​​[ключевой] части?

#!/bin/bash -x wget url://stringlist1 wget url://stringlist2 #cat/sed some stuff .... declare -A targetarray loop $resultfromstringlist1 in strlistarray1 # filled with ( aka1 kaka hu3hu blabla ) loop $resultfromstringlist2 in strlistarray2 # filled with ( Thoralf Mirkoslav Pjotr Jan ) i=0; for e in strlistarray1 do targetarray[$e]="${strlistarray2[$i]}" ((++i)) done #wanted output echo ${targetarray[aka1]} -> Thoralf exit 

я надеюсь, теперь более ясно

$ e остается на $ e, его не заполняет строка из массива strlist1

с ручной настройкой, но не с версией loop bash – 4.3

 #!/bin/bash unset aaaa declare -A aaaa str1="hans" str2="klaus" aaaa[$str1]="online"; aaaa[$str2]="offline"; echo ${aaaa[$str1]} 

One Solution collect form web for “ассоциативный массив с двумя строками”

Это демонстрирует, как заполнять и запрашивать ассоциативный массив targetarray с ключами и значениями из двух простых массивов strlistarray1 и strlistarray2 :

 #!/bin/bash declare -a strlistarray1=( aka1 kaka hu3hu blabla ) declare -a strlistarray2=( Thoralf Mirkoslav Pjotr Jan ) declare -A targetarray i=0 for e in "${strlistarray1[@]}"; do targetarray["$e"]="${strlistarray2[i]}"; ((i++)) done for e in "${!targetarray[@]}"; do echo $e --- ${targetarray[$e]} done 

Чтобы получить содержимое файла (при условии, что одна запись в строке), попробуйте

 IFS=$'\n' declare -a strlistarray1=($(< yourfile)) unset IFS 

Чтобы получить данные из URL-адреса, попробуйте

 IFS=$'\n' declare -a strlistarray1=($(wget -qO - 'http://yoururl')) unset IFS 

(Для предотвращения проблем с извлеченными данными, содержащими пробелы, требуется установка IFS . Если вы уверены, что ваши входные данные не имеют пробелов, как и в вашем вопросе, два оператора IFS могут быть опущены.)

  • Как найти уникальное слово в одной строке
  • Диапазонные переменные для настраиваемых пользователем циклов
  • замените '_' на ',' в файле, который содержит список имен файлов
  • Как эмулировать возвращаемые произвольные значения из функций оболочки?
  • Преобразование xlsx в xls в сценарии оболочки Linux
  • Двоичные в шестнадцатеричные и десятичные в сценарии оболочки
  • Понимание среды Linux Back-Slash и звездочки
  • Извлечь поля строки в переменные оболочки
  • как добавить строку в файл / etc / sudoers с помощью скрипта оболочки (50servers)?
  • Сколько снарядов я глубоко?
  • Измените определенную часть файла с помощью сценария оболочки
  • Linux и Unix - лучшая ОС в мире.