"if-then" if _expr_ then _cmd(s)_ elif _expr_ _cmd(s)_ else _cmd(s)_ fi "case" case _word_ in _pattern1_) _cmd(s)_ _pattern2_) _cmd(s)_ *) break ;; esac "while" while _expr_ do _cmd(s)_ done "for" for _variable_ in _list_ _cmd(s)_ done "until" until _expr_ do _cmd(s)_ done