Как написать скрипт на bash для транслитерации русских букв в английские ?

Для транслитерации русских букв в английские я предлагаю использовать следующий скрипт на bash:
	
#!/bin/bash

# Массив соответствия русских букв английским
declare -A translit_map=(
    ["а"]="a" ["б"]="b" ["в"]="v" ["г"]="g" ["д"]="d" ["е"]="e"
    ["ё"]="yo" ["ж"]="zh" ["з"]="z" ["и"]="i" ["й"]="y" ["к"]="k"
    ["л"]="l" ["м"]="m" ["н"]="n" ["о"]="o" ["п"]="p" ["р"]="r"
    ["с"]="s" ["т"]="t" ["у"]="u" ["ф"]="f" ["х"]="h" ["ц"]="ts"
    ["ч"]="ch" ["ш"]="sh" ["щ"]="sch" ["ъ"]="" ["ы"]="y" ["ь"]=""
    ["э"]="e" ["ю"]="yu" ["я"]="ya"
)

# Функция для транслитерации строки
function translit() {
    local input="$1"
    local output=""

    for (( i=0; i<${#input}; i++ )); do
        local char="${input:$i:1}"
        local lower_char="${char,,}"  # Преобразуем в нижний регистр

        if [[ ${translit_map[$lower_char]} ]]; then
            # Если есть соответствие в массиве, добавляем в выходную строку
            output+="${translit_map[$lower_char]}"
        else
            # Иначе добавляем символ без изменений
            output+="$char"
        fi
    done

    echo "$output"
}

# Пример использования
input="Привет, мир!"
translit_output=$(translit "$input")
echo "$translit_output"
Результат:
	
Privet, mir!
В данном скрипте реализован массив translit_map, в котором определены соответствия русских букв английским. Функция translit принимает строку в качестве аргумента и проходит по ней символ за символом, заменяя русские буквы на английские согласно массиву translit_map. Результат транслитерации выводится на экран. Пример использования приведен в конце скрипта.