>_ IzzyLab

Практическое задание

Аргумент со значением по умолчанию

легко

Напиши /usr/local/bin/say: печатает переданный первым аргументом текст, а если аргумент не передан — печатает hello (значение по умолчанию).

Что потренируешь:
  • bash-скрипты
  • позиционные аргументы
  • параметр-подстановки
  • значения по умолчанию
  • chmod

Разбор темы

Скрипт получает данные снаружи через позиционные параметры $1, $2 и так далее, но эти параметры могут быть пустыми или вовсе не переданы — надёжный код обязан такой случай предусмотреть. В bash для этого есть механизм подстановки параметра с запасным значением вида ${var:-default}: если переменная пуста или не задана, вместо неё подставляется запасное значение прямо в момент раскрытия. Форма с двоеточием (:-) считает пустую строку тоже за «нет значения», в отличие от формы без него. Файл кладётся в каталог из PATH с шебангом #!/bin/bash и делается исполняемым через chmod.

Что проверяется

  1. say исполняемый
  2. с аргументом печатается сам аргумент
  3. без аргумента печатается hello

Как это выглядит