Мне было интересно, правильно ли это в Bash, скажем, для печати, возможно, неназначенной строки:
if [[ test ]]; then
str="foo"
fi
printf "foo or empty: %s" "$str"
Или я должен назначить значение по умолчанию вне оператора if, например str=""
Я не получаю никаких ошибок, поэтому кажется, что все в порядке.