В bash я могу сделать тестовое условие, используя && и / или || а не блок if / elif / else.
Когда это применимо, я использую, как правило, использовать && и / или || вместо того, чтобы строить блок if. Есть ли реальные преимущества у одной конструкции над другой?
Рассмотрим следующие примеры:
1)
[[ -f /shared_disk/backups/daily.tar.bz2 ]] && echo "the coast is clear" || echo "run the dump"
2)
if [[ -f /shared_disk/backups/daily.tar.bz2 ]]; then
echo "the coast is clear"
else
echo "run the dump"
fi