true

Что делает команда true в Linux

Команда true — простейшая утилита, которая всегда возвращает код завершения 0 (успех). Несмотря на свою минимальность, она играет важную роль в управлении логикой выполнения команд и условных операторов в скриптах.

Техническая реализация

  • true реализована как исполняемый файл /usr/bin/true.
  • Внутри содержит только один системный вызов exit(0), поэтому её размер — всего несколько байт.
  • Применяется в сценариях, где необходимо явно установить «истинное» условие без выполнения дополнительных действий.

Практические применения команды true

1. Создание бесконечных циклов

Bash
while true; do
    # обработка событий
done

В данном случае true обеспечивает постоянную истинность условия цикла, позволяя скрипту работать непрерывно до внешнего прерывания.

Подпункт: использование с break

Команда break внутри цикла позволяет выйти из него при необходимости. Это удобно для написания сервисов, которые ждут сигнала или тайм‑аута.

2. Плейсхолдеры в условных конструкциях

Bash
if true; then
    echo "Условие всегда выполнится"
else
    echo "Никогда не будет выведено"
fi

Используется, когда нужно задать «запасное» условие, которое гарантирует выполнение блока кода независимо от внешних факторов.

Подпункт: комбинирование с false

Часто встречается пара true && command || false, где первая часть всегда истинна, а вторая — ложна, что позволяет управлять потоками выполнения без дополнительного логического выражения.

3. Тесты и проверки зависимостей

Bash
command -v grep > /dev/null || { echo "grep не найден"; exit 1; }

Здесь true может заменить отсутствие проверки, если гарантировано наличие команды в системе. Это упрощает скрипты при работе в контролируемой среде.

Подпункт: использование в CI/CD

В пайплайнах CI (GitLab CI, Jenkins) команда true часто ставится как «заглушка» для этапов, которые ещё не реализованы, но должны быть частью последовательности задач.

4. Работа с оболочкой dash и POSIX

Команда true является стандартом POSIX и гарантирована в любой совместимой системе. Это делает её надёжным инструментом при написании скриптов, которые будут выполняться на разных дистрибутивах без лишних зависимостей.

Советы по использованию команды true

Совет 1:
Если вы пишете сценарий, где нужно убедиться в отсутствии ошибок до выполнения критической операции, используйте конструкцию:

Bash
command || true

Это гарантирует, что даже при неудачном выполнении command скрипт продолжит работу без прерывания.

Совет 2:
В многопоточных сценариях, где один поток контролирует состояние другого через файл‑флаг, можно использовать:

Bash
while true; do
    if [[ -f /tmp/stop ]]; then break; fi
    # работа
done

Команда true в условии цикла обеспечивает постоянную проверку до появления сигнала остановки.

Итог

Хотя команда true выглядит как простейший «пустой» инструмент, её универсальность и предсказуемость делают её незаменимой при создании надёжных скриптов Linux. Используйте её для управления логикой циклов, условных операторов и проверок зависимостей, чтобы ваш код оставался чистым, понятным и легко масштабируемым.