Step 10 (S-13625)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/4771/step/10

Напишите калькулятор на bash. При запуске ваш скрипт должен ожидать ввода пользователем команды (при этом на экран выводить ничего не нужно). Команды могут быть трех типов: 


  1. Слово "exit". В этом случае скрипт должен вывести на экран слово "bye" и завершить работу. 
  2. Три аргумента через пробел -- первый операнд (целое число), операция (одна из "+", "-", "*", "/", "%", "**") и второй операнд (целое число). В этом случае нужно произвести указанную операцию над заданными числами и вывести результат на экран. После этого переходим в режим ожидания новой команды.
  3. Любая другая команда'из одного аргумента или из трех аргументов, но с операцией не из списка.В этом случае нужно вывести на экран слово "error" и завершить работу.'

Чтобы проверить работу скрипта, вы можете записать сразу несколько команд в файл и передать его скрипту на stdin (т.е. выполнить ./script.sh < input.txt). В этом случае он должен вывести сразу все ответы на экран.

Например, если входной файл будет следующего содержания:

10 + 1
2 ** 10
exit

то на экране будет:

11
1024
bye


Если же на вход поступит следующий файл:

3 - 5
2/10
exit

то на экране будет:

-2
error

т.к. вторая команда была некорректной (в ней всего один аргумент, т.к. нет пробелов между числами и операцией, а единственная допустимая команда из одного аргумента это "exit").



Подсказка: в случае проблем с решением задачи, обратите внимание на наши рекомендации по написанию скриптов.