>_ IzzyLab

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

Сумма аргументов

средне

Напиши /usr/local/bin/sumargs, который складывает все переданные ему числа-аргументы и печатает сумму. Например, sumargs 3 4 512.

Что потренируешь:
  • позиционные аргументы
  • $@
  • цикл for
  • арифметика $(( ))
  • аккумулятор

Разбор темы

Когда число аргументов заранее неизвестно, обращаться к $1, $2 поштучно бессмысленно — весь их список отдаёт специальная переменная "$@", по которой удобно пройтись циклом. Классический приём суммирования — переменная-аккумулятор, к которой на каждой итерации прибавляется текущий элемент; целочисленную арифметику в bash даёт конструкция $(( ... )), причём внутри неё имена переменных пишутся без $. Скрипт кладётся в каталог из $PATH (/usr/local/bin) и делается исполняемым, чтобы вызываться по имени.

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

  1. sumargs исполняемый
  2. sumargs 3 4 5 даёт 12
  3. sumargs с одним аргументом даёт число

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