Очень простой вопрос, но у меня очень мало знаний о скрипте оболочки. Что означает следующая команда при чтении аргументов, переданных скрипту?Чтение аргументов в скрипте оболочки
TXT=${1,,}
Очень простой вопрос, но у меня очень мало знаний о скрипте оболочки. Что означает следующая команда при чтении аргументов, переданных скрипту?Чтение аргументов в скрипте оболочки
TXT=${1,,}
Он преобразует переменную в нижний регистр.
Пример:
$ var="Hello World"
$ echo ${var,,}
hello world
В вашем случае, $1
относится к первому аргумента, переданного в сценарий оболочки, поэтому TXT=${1,,}
преобразует первый аргумент в нижний регистр и сохраняет его в другой переменной называется TXT
.
Тип man bash
и вы найдете следующее подробное объяснение этого выражения:
$ {параметр ,, шаблон}
модификация Case. Это расширение изменяет случай алфавитного char- актеров в параметре. Шаблон расширяется, чтобы создать шаблон только , как при расширении пути. Оператор^преобразует строчные буквы соответствующий шаблон в верхний регистр; оператор operator преобразует совпадающие верхние буквенные символы в строчные буквы. Разложения ^^ и ,, преобразуют каждый символ в расширенном значении;^и, разложения соответствуют и преобразуют только первый символ в расширенное значение. Если шаблон опущен, он обрабатывается как a?, Который соответствует каждому символу. Если параметр имеет значение @ или *, операция модификации случая применяется поочередно к каждому позиционному параметру , и расширение является результирующим списком. Если параметр представляет собой переменную массива с индексом @ или *, операция mod- применяется поочередно к каждому члену массива, а расширение является результирующим списком.
Эта функция также была представлена в версии 4.0, поэтому, если вы используете более раннюю версию (например, что поставляется с Mac OS X), вместо этого вы получите неверную ошибку замены. – chepner