2014-01-23 3 views

ответ

1

Он преобразует переменную в нижний регистр.

Пример:

$ var="Hello World" 
$ echo ${var,,} 
hello world 

В вашем случае, $1 относится к первому аргумента, переданного в сценарий оболочки, поэтому TXT=${1,,} преобразует первый аргумент в нижний регистр и сохраняет его в другой переменной называется TXT.

Тип man bash и вы найдете следующее подробное объяснение этого выражения:

$ {параметр ,, шаблон}

модификация Case. Это расширение изменяет случай алфавитного char- актеров в параметре. Шаблон расширяется, чтобы создать шаблон только , как при расширении пути. Оператор^преобразует строчные буквы соответствующий шаблон в верхний регистр; оператор operator преобразует совпадающие верхние буквенные символы в строчные буквы. Разложения ^^ и ,, преобразуют каждый символ в расширенном значении;^и, разложения соответствуют и преобразуют только первый символ в расширенное значение. Если шаблон опущен, он обрабатывается как a?, Который соответствует каждому символу. Если параметр имеет значение @ или *, операция модификации случая применяется поочередно к каждому позиционному параметру , и расширение является результирующим списком. Если параметр представляет собой переменную массива с индексом @ или *, операция mod- применяется поочередно к каждому члену массива, а расширение является результирующим списком.

+0

Эта функция также была представлена ​​в версии 4.0, поэтому, если вы используете более раннюю версию (например, что поставляется с Mac OS X), вместо этого вы получите неверную ошибку замены. – chepner

Смежные вопросы