Типы данных в Bash (Data Types)

Введение

В Bash нет строгой типизации, как в традиционных языках программирования. Все данные обрабатываются как строки. Тем не менее, понимание типов данных необходимо для эффективной работы со скриптами.

Основные типы данных в Bash

  1. Строки (Strings)

    Все значения по умолчанию интерпретируются как строки.

    имя="Алиса"
    echo "Привет, $имя"
    
  2. Числа (Integers)

    Используются при выполнении арифметических операций с помощью:

    • $(( ))

    • let

    • expr

    число1=10
    число2=5
    сумма=$((число1 + число2))
    echo $сумма
    
  3. Массивы (Arrays)

    Bash поддерживает одномерные массивы.

    фрукты=("яблоко" "банан" "вишня")
    echo ${фрукты[0]}  # яблоко
    

    Добавление элемента:

    фрукты+=("апельсин")
    
  4. Арифметические выражения

    Bash позволяет выполнять базовые математические действия:

    echo $((5 * 3 + 2))  # 17
    

Сравнение чисел и строк

Для чисел:

if [ "$a" -eq "$b" ]; then
    echo "равны"
fi

Для строк:

if [ "$str1" = "$str2" ]; then
    echo "строки равны"
fi

Проверка чисел:

  • -eq — равно

  • -ne — не равно

  • -lt — меньше

  • -gt — больше

Проверка строк:

  • = — равно

  • != — не равно

  • -z — пустая строка

  • -n — непустая строка

Типы данных в read

При считывании пользовательского ввода через read значения всегда обрабатываются как строки.

read число
echo $((число + 1))

Заключение

Хотя Bash не поддерживает строгую типизацию, понимание того, как обрабатываются строки, числа и массивы, критично для написания эффективных скриптов.