${ varname :- word }: Якщо існує varname і не є null, повертає значення varname, інакше повертає слово. Використовується для повернення значення за замовчуванням, коли змінна не існує або не визначена. Якщо це ${ varname - word }, воно може бути нульовим, коли існує 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 наступним чином:
|