Вот мой сценарий:

#!/bin/bash
nb_lines=30
expr 100 / $nb_lines

./test1.sh 
3

1) Как я могу изменить этот скрипт, чтобы иметь «3.33333333»? Переменная 1

2) Как я могу изменить этот скрипт, чтобы иметь «4» (раунд выше)? Переменная 2

1 ответ1

1

expr способен только на целочисленную арифметику, поэтому он никогда не вернет вам значение дроби.

Чтобы иметь возможность использовать вычисления с плавающей запятой, вы должны познакомиться с каким-то простым инструментом оболочки, который можно использовать для этой цели, таким как

  • bc - язык калькулятора произвольной точности или
  • gawk - язык сканирования и обработки паттернов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .