Объединить ассоциативные массивы Bash

Я пытаюсь создать скрипт, который по требованию объединяет массивы. Вот сценарий:

#! /bin/bash declare -A code code=( [H]="h" [E]="e" [L]="l" [P]="p" [M]="m" [E]="e" ) 

Мне нужно напечатать «помогите мне» – без кавычек и в одной строке – когда я вхожу ./filename.bash «ПОМОЧЬ МЕНЯ» в командной строке. вот что я использую.

 code=$1; for (( i = 0; i < ${#code[@]} ; i = $i + 1 )); do; echo ${code[@]:$i:1}; done 

One Solution collect form web for “Объединить ассоциативные массивы Bash”

Попробуйте это с помощью script.sh "HELP ME" :

 #!/bin/bash input=$1; declare -A code code=( [H]="h" [E]="e" [L]="l" [P]="p" [M]="m" [E]="e" ) for ((i=0; i<${#input}; i++)) do if [[ "${input:$i:1}" = " " ]]; then # whitespace? echo -n " " else echo -n "${code[${input:$i:1}]}" fi done 

Вывод:

 Помоги мне
  • Что делает эта линия в bash? Параметрируемая || имяскрипт
  • Конкатенировать блок строк со следующим блоком линий
  • Источник «gsed: не может читать: нет такого файла или каталога»?
  • Что происходит в этой функции?
  • Сценарий Bash: сделать что-то один раз внутри цикла, а затем остановить, но продолжить цикл
  • Пространства для переменных в сценарии bash
  • Как написать скрипт bash без использования sudo в нем?
  • нужна помощь с символикой aa и переменной PATH
  • Почему оператор printf в этом цикле выводит массив из последовательности?
  • Как оценивать команды на данном узле кластера с помощью plink?
  • Клавиша со стрелкой / Ввод меню
  • Linux и Unix - лучшая ОС в мире.