Я пытаюсь выполнить замену строк в bash, хочу понять ее лучше.переменная bash в подстановке строк
Я обработал случай успеха, как это:
a=abc_de_f
var=$a
echo ${var//_/-}
Outout является abc-de-f
. Это работает.
Однако следующий скрипт не:
a=abc_de_f
echo ${$a//_/-}
Сообщение об ошибке ${$a//_/-}: bad substitution
. Похоже, что мы можем использовать переменную в подстановке. Почему это не удается? Как bash обрабатывает переменные в этом случае?
Также, как лучше всего обрабатывать escape-символы в замене строки bash?