Описание тега asia
Параметр расширения ${переменная,,}
будет расширяться на значение переменной$
со всех символов в нижний регистр в Баш
оболочки. Учитывая, что вы получаете "плохая замена" ошибка при выполнении этого кода говорит о том, что вы на самом деле либо
- не используя эту оболочку, но возможно
/Бен/ш
(что не всегдаБаш
). Но не получаю сообщение об ошибке длячтения -п
предполагает, что это более вероятно, что вы не - используете старую версию
Баш
не поддерживает данное расширение (введено в версии 4 набаш
).
Общая форма расширение ${переменная,рисунок}
, в которой все символы в переменной$
, что соответствует шаблон
будет преобразован к нижнему регистру (использовать ^^
преобразовать к верхнему регистру):
ул. $ ="привет"
$ е '%з\п' "${стр,[Хо]}"
привет
См. также Баш
руководства по вашей системе.
Для более старых версий Баш
, вы могли бы сделать следующее в нижний регистр значение переменной:
переменная=$( тр 'а-я' 'а-я' <<<"$переменная" )
Это передает значение переменной через ТР
с помощью "строка". В ТР
утилита транслитерацию всех персонажей в В
В З
в ASCII диапазон (при условии, что с/с POSIX локали) в соответствующий символ В а
в з
ряда.
Отметим также, что
SOMEVAR=`"Эхо ${SOMEVAR,,}"`
лучше записать как
SOMEVAR=${SOMEVAR,,}
В том, что вы написали, даст вам "команда не найдена" ошибка в Баш
- релиз 4+, Если у вас нет команды под названием Эхо строку
, включая пространство (где строка
была что пользователь ввел). Это связано с подстановкой команд старается выполнить двойной кавычки.