Я виконую шкільне завдання в Баші і отримав цей код:
if a < 0
a = a/b
else
a = b/a
fi
Завдання говорить про те, що нам потрібно розділити два читання, прочитані з клавіатури, і перевірити, чи не перше число більше, ніж число 0.
echo "Write two numbers, with a space, that need to be divided:"
read a b
if a > 0
a = $a / $b
else
a = $b / $a
fi
echo "$a"
Що тут я роблю?
Відповіді:
0 для відповіді № 1Створення математичного контексту в баш-програмах (( ))
. Зауважте, що bash підтримує лише цілочисельну математику спочатку - будьте впевнені, що ви не очікуєте дробового виводу (або використовуєте дробові входи), і див. BashFAQ №22 якщо це обмеження стосується вас.
if (( a > 0 )); then
a=$(( a / b ))
else
a=$(( b / a ))
fi