Если условие истинно, выполняется один набор команд, в противном случае — альтернативный набор команд.

if список_1
   then список_2
[elif список_3
   then список_4]
.................
[else список_N]
fi

Выполняется список_1. Если код его завершения 0, то выполняется список_2, в противном случае - список_3, и если код его завершения 0, то выполняется список_4 и т.д. Если же коды завершения всех списков, использованных в качестве условий, оказались ненулевыми, выполняется else -часть ( список_N ). Если else -часть отсутствует и ни одна then -часть не выполнялась, возвращается нулевой код завершения.