Книга: Искусство программирования на языке сценариев командной оболочки
Пример 12-34. Пример взаимодействия bc со "встроенным документом"
Пример 12-34. Пример взаимодействия bc со "встроенным документом"
#!/bin/bash
# Комбинирование 'bc' с
# 'вложенным документом'.
var1=`bc << EOF
18.33 * 19.78
EOF
`
echo $var1 # 362.56
# запись $( ... ) тоже работает.
v1=23.53
v2=17.881
v3=83.501
v4=171.63
var2=$(bc << EOF
scale = 4
a = ( $v1 + $v2 )
b = ( $v3 * $v4 )
a * b + 15.35
EOF
)
echo $var2 # 593487.8452
var3=$(bc -l << EOF
scale = 9
s ( 1.7 )
EOF
)
# Возвращается значение синуса от 1.7 радиана.
# Ключом "-l" вызывается математическая библиотека 'bc'.
echo $var3 # .991664810
# Попробуем функции...
hyp= # Объявление глобальной переменной.
hypotenuse () # Расчет гипотенузы прямоугольного треугольника.
{
hyp=$(bc -l << EOF
scale = 9
sqrt ( $1 * $1 + $2 * $2 )
EOF
)
# К сожалению, функции Bash не могут возвращать числа с плавающей запятой.
}
hypotenuse 3.68 7.31
echo "гипотенуза = $hyp" # 8.184039344
exit 0
- Пример 12-32. Ежемесячные выплаты по займу
- Пример 12-33. Перевод чисел из одной системы счисления в другую
- Пример 12-34. Пример взаимодействия bc со "встроенным документом"
- Пример 12-35. Вычисление числа "пи"
- Пример 12-36. Преобразование чисел из десятичной в шестнадцатиричную систему счисления
- Пример 12-37. Разложение числа на простые множители
- Пример 12-38. Расчет гипотенузы прямоугольного треугольника
- Пример установочного скрипта
- Пример из практики
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Основные "рычаги" управления производительностью
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Группировка по встроенным функциям и UDF
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- Работа с активным документом