Как преобразовать строку из верхнего регистра в нижний регистр в Bash? [дубликат]

На этот вопрос уже есть ответ здесь:

Я искал способ преобразовать строковое значение из верхнего регистра в нижний регистр. Все результаты поиска показывают подходы к использованию команды tr.

Проблема с командой trзаключается в том, что я могу получить результат только тогда, когда использую команду с оператором echo. Например:

y="HELLO"
echo $y| tr '[:upper:]' '[:lower:]'

Вышеприведенное работает и приводит к «привет», но мне нужно присвоить результат переменной, как показано ниже:

y="HELLO"
val=$y| tr '[:upper:]' '[:lower:]'
string=$val world

При присвоении значения, как указано выше, это дает мне пустой результат.

PS :Моя версия Bash 3.1.17

78
задан Ciro Santilli 新疆改造中心法轮功六四事件 9 May 2018 в 16:27
поделиться