Пример 7-3. Арифметические выражения внутри (( ))

Пример 7-3. Арифметические выражения внутри (( ))

#!/bin/bash

# Проверка арифметических выражений.

# Инструкция (( ... )) вычисляет арифметические выражения.

# Код возврата противоположен коду возврата инструкции [ ... ] !

(( 0 ))

echo "Код возврата "(( 0 ))": $?." # 1

(( 1 ))

echo "Код возврата "(( 1 ))": $?." # 0

(( 5 > 4 )) # true

echo "Код возврата "(( 5 > 4 ))": $?." # 0

(( 5 > 9 )) # false

echo "Код возврата "(( 5 > 9 ))": $?." # 1

(( 5 - 5 )) # 0

echo "Код возврата "(( 5 - 5 ))": $?." # 1

(( 5 / 4 )) # Деление, все в порядке

echo "Код возврата "(( 5 / 4 ))": $?." # 0

(( 1 / 2 )) # Результат деления < 1.

echo "Код возврата "(( 1 / 2 ))": $?." # Округляется до 0.

# 1

(( 1 / 0 )) 2>/dev/null # Деление на 0.

echo "Код возврата "(( 1 / 0 ))": $?." # 1

# Для чего нужна инструкция "2>/dev/null" ?

# Что произойдет, если ее убрать?

# Попробуйте убрать ее и выполнить сценарий.

exit 0