NBash
47 строк · 1.2 Кб
1#!/bin/bash
2
3prettybc="./L14-prettybc"
4
5scale=0
6
7show_help() {
8cat << EOF
9В дополнение к стандартным функциям калькулятор так же поддерживает:
10a % b - остаток от деления a на b
11a ^ b - возвести a в степень b
12s(x) - синус x, x в радианах
13c(x) - косинус x, x в радианах
14a(x) - арктангенс x, в радианах
15l(x) - натуральный логорифм x
16e(x) - экспоненциальный логарифм возведения e в x
17scale N - точность вычислений N знаков после запятой
18EOF
19}
20
21if [ $# -gt 0 ] ; then
22exec $prettybc "$@"
23fi
24
25echo "Это простой калькулятор. Введите \"help\" для справки, \"quit\" чтобы выйти"
26echo "Точность по умолчанию равна $scale знаков после запятой"
27
28echo -n "calculator> "
29
30while read command args
31do
32echo "command=$command"
33echo "args=$args"
34
35case $command
36in
37quit|exit ) exit 0 ;;
38help|\? ) show_help ;;
39scale ) scale=$args ;;
40*) $prettybc -p $scale "$command" "$args" ;;
41esac
42echo -n "calculator> "
43done
44
45echo ""
46
47exit 0