В этой статье мы познакомимся с рядом более сложных математических операций, которые можно реализовать с помощью Bash-скриптов. Вы научитесь генерировать ряд Фибоначчи, выполнять перевод чисел между различными системами счисления (десятичной, двоичной, восьмеричной и шестнадцатеричной) и использовать числовые сравнения в условных конструкциях.
Числа Фибоначчи — это последовательность, где каждое число является суммой двух предыдущих. Начинается она с 0 и 1:
Пример ряда: 0, 1, 1, 2, 3, 5, 8, 13...
📜 Скрипт: Fibonacci.sh
BashCopy
#!/bin/bashecho"Сколько чисел ряда Фибоначчи вы хотите получить?"readtotalx=0y=1i=2echo"Ряд Фибоначчи до $total членов:"echo"$x"echo"$y"while [ $i-lt$total ] doi=`expr$i + 1`z=`expr$x + $y`echo"$z"x=$yy=$zdone
Блок-схема Fibonacci.sh
Пример запуска:
BashCopy
chmod+xFibonacci.sh./Fibonacci.sh
Вывод:
Пример работы скрипта
Перевод десятичного числа в двоичное.
Компьютеры работают с двоичной системой счисления, и перевод чисел из привычной десятичной формы в двоичную может быть полезен во множестве задач.
С помощью bc можно легко конвертировать числа между любыми системами:
Конвертация
Команда
Десятичное → Восьмеричное
echo "obase=8; 100"
Десятичное → Шестнадцатеричное
echo "obase=16; 255"
Восьмеричное → Десятичное
echo "ibase=8; 144"
Шестнадцатеричное → Десятичное
echo "ibase=16; FF"
Двоичное → Восьмеричное
echo "ibase=2; obase=8; 101011"
Заключение
В этой статье мы на практике рассмотрели, как с помощью Shell-скриптов выполнять базовые математические операции, работать с последовательностями Фибоначчи, а также переводить числа между различными системами счисления — от двоичной до шестнадцатеричной.
Подобные скрипты полезны не только при обучении, но и в реальных автоматизациях, когда нужно производить простые вычисления прямо в командной строке без использования сторонних языков программирования. Особенно удобно использовать команду bc как универсальный калькулятор внутри скриптов для точных преобразований между системами счисления.