${ varname :- word }: Если существует varname и не является null, возвращает значение varname, иначе возвращает слово. Используется для возврата значения по умолчанию, если переменная отсутствует или не определена. Если это ${ varname - word }, то оно может быть null, когда varname существует, например, мы определяем myparam=, возвращая значение varname, иначе возвращая слово. Вы также можете удалить «:», которое имеет то же значение и не повторяется.
${ varname := слово }: Если существует varname и не является null, возвращает значение varname, в противном случае присваивает ему значение слова и возвращает это значение. Используется для установки по умолчанию для переменной, которая не существует или не определена. Для параметров позиции — только для чтения и нельзя назначать.
${ varname :? сообщение }: Если существует varname и не является null, возвращает значение varname, в противном случае печатает информацию varname:message, а скрипт отменяется, если сообщение не установлено, используется стандартный «параметр null or not set». Используется для проверки ошибок, если переменные не определены.
${ varname :+ word }: Если существует varname и не является null, возвращает значение слова, иначе возвращает null. Используется для обнаружения наличия или отсутствия переменных.
${ varname : offset : length }: Операция для получения подстроки. Он возвращает строку длины из смещенной позиции в varname. Первая позиция равна 0, если длина не указана или недействительна (меньше 0), все символы после смещения возвращаются, а если это {@:offset:length}, возвращается параметр общей длины параметра скрипта из первого смещения.
Создайте новый тестовый скрипт test.sh следующим образом:
|