Выполняют ли эти два фрагмента кода, один с использованием знака с двоеточием, а другой с помощью программы с двойными скобками, демонстрируют такое же поведение?Существуют ли различия в поведении между: = и [[?
: "${foo:=bar}"
и
if ! [[ $foo ]]; then
foo=bar
fi
Если они одинаковы в поведении, то какой из них является предпочтительным стилистически? Я видел, что оба они используются в разных местах, и я не могу решить, какой из них лучше для удобства и удобочитаемости.
'if! ["$ foo"]; то 'также будет POSIX-совместимым. – chepner