Як додати обчислення до сценарію Bash
Що потрібно знати
- Використовувати дозволяє команду для отримання арифметичної оцінки виразу, наприклад in нехай m=(4 * 1024).
- Доступні арифметичні операції подібні до тих у стандартних мовах програмування, як Java і C.
- Оператор let працює лише для цілочисельної арифметики. Для арифметики з плаваючою комою використовуйте GNU bc калькулятор.
Хоча Bash є скриптовою мовою, вона має більшість можливостей мови програмування загального призначення. Сюди входять арифметичні функції. Ось як додати обчислення до сценарію bash.
Як додати обчислення до сценарію Bash
Існує ряд синтаксису параметри, які можна використовувати, щоб викликати арифметичне оцінювання виразу. Мабуть, найчитабельнішим є дозволяє команда. Наприклад:
нехай m=(4 * 1024)
обчислить 4 рази 1024 і присвоїть результат змінній "m".
Ви можете роздрукувати результат, додавши відлуння заява:
луна $m
Ви також можете створити файл, що містить команди Bash, і в цьому випадку вам слід додати рядок у верхній частині файлу, який визначає програму, яка повинна виконувати код. Наприклад:
#! /bin/bash
припускаючи, що виконуваний файл Bash розташований у /bin/bash. Вам також потрібно встановити дозволи файлу сценарію, щоб він був виконуваним. Припустимо, що ім’я файлу сценарію є script1.sh, ви можете встановити дозволи, щоб зробити файл виконуваним за допомогою команди:
chmod +x script1.sh
Після цього ви можете виконати його за допомогою команда:
./script1.sh
Доступні арифметичні операції подібні до тих у стандартних мовах програмування, як Java і C. Крім множення, як показано вище, ви використовуєте додавання:
нехай m=(5 + 5)
або віднімання:
нехай m=(10 - 2)
або поділ:
нехай m=(10/2)
або за модулем (залишок після цілого ділення):
нехай m=(11/2)
Коли операція застосовується до тієї самої змінної, якій присвоєно результат, можна використовувати стандартні арифметичні оператори присвоєння, які також називають складеними операторами присвоєння. Наприклад, для додавання ми маємо:
(( m+=15))
що еквівалентно «m = m + 15». Для віднімання маємо:
(( m-=3 ))
що еквівалентно «m = m - 3». Для поділу маємо:
(( м/=5))
що еквівалентно «m = m / 5». А за модулем маємо:
(( m%=10))
що еквівалентно «m = m % 10».
Додатково можна використовувати приріст і декремент оператори:
(( m++ ))
еквівалентно «m = m + 1». І.
(( м-- ))
еквівалентно «m = m - 1».
Арифметика з плаваючою комою в Bash
The дозволяє Оператор працює лише для цілочисельної арифметики. Для арифметики з плаваючою комою ви можете використовувати, наприклад, GNU bc калькулятор як показано в цьому прикладі:
луна 32,0+1,4 | е
Оператор «труба» «|» передає арифметичний вираз «32,0 + 1,4» в калькулятор bc, який повертає дійсне число. The відлуння команда виводить результат у стандартний висновок.
Альтернативний синтаксис для арифметики
Для оцінки арифметичного виразу можна використовувати зворотні лапки, як у цьому прикладі:
echo `expr $m + 18`
Це додасть 18 до значення змінної "m", а потім роздрукує результат.
Щоб призначити значення обчислення змінній, ви можете використовувати знак рівності без пробілів навколо нього:
m=`вираз $m + 18`
Інший спосіб обчислення арифметичних виразів — використання подвійних дужок. Наприклад:
(( м*=4))
Це збільшить значення змінної "m" вчетверо.
Окрім арифметичного оцінювання, оболонка Bash надає інші конструкції програмування, такі як цикли for, цикли while, умовні, і функції та підпрограми.