TEST_DEBUG=${TEST_DEBUG:-false}
Это задание false
до $TEST_DEBUG
, если оно уже не имеет значения (см. Расширение параметра в man bash
).
[[ "$TEST_DEBUG" == false ]] || TEST_DEBUG=true
Условие внутри [[ ... ]]
возвращает истину, когда $TEST_DEBUG
имеет значение false
.Если он возвращает false, то есть значение отличается, то $TEST_DEBUG
присваивается true
.
$TEST_DEBUG && echo 1>&2
. При этом echo
запускается, только если $TEST_DEBUG
установлено на true
.
echo
без параметров просто выводит пустую строку на стандартный вывод.1>&2
перенаправляет стандартный вывод на стандартную ошибку, поэтому в этом случае пустая строка печатается со стандартной ошибкой.