TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #275 1.29K
Bash и математика

Это почти несовместимо, но стоит подключить утилиту bc - и ты получаешь калькулятор в консоли, поддерживающий: дробные числа, логические выражения, условные операторы, возведение в степень и функции.

▪️ Пример: базовые вычисления


echo "3.14 * 2.5" | bc
# → 7.85


По умолчанию дробные числа - без знаков после запятой. Поэтому:


echo "scale=4; 10 / 3" | bc
# → 3.3333


▪️ Переменные и выражения


a=5.7
b=3.2
echo "scale=2; $a + $b" | bc
# → 8.9


Или сохранить результат:


result=$(echo "scale=3; ($a^2 + $b^2)^0.5" | bc -l)


Флаг -l включает математическую библиотеку с поддержкой sqrt(), s(), c(), l(), e() и т.д.

▪️ Условия и логика


x=2.5
y=4.1

if [[ $(echo "$x < $y" | bc) -eq 1 ]]; then
echo "$x меньше $y"
fi


▪️ Пример: вычисление средней загрузки из логов CPU


total=0
count=0
for val in 1.2 0.8 2.5 1.9; do
total=$(echo "$total + $val" | bc)
count=$((count + 1))
done
avg=$(echo "scale=2; $total / $count" | bc)
echo "Средняя нагрузка: $avg"


🌟 Когда использовать bc:

📍 скрипты мониторинга;
📍 фин. расчёты в bash;
📍 работа с датчиками (температура, напряжение);
📍 вычисление геометрических величин, преобразование координат

BashTex 📱 #bash #utils
  • 👍 18
More from @bash_tex
  1. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  2. Oct 9, 2026BashTex 📱 #мем
  3. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  4. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  5. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  6. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →