Listy poleceń (sublist) Lista poleceń może być pojedynczym potokiem lub kilkoma potokami połączonymi operatorami && albo ||. Jeśli dwa potoki są rozdzielone znakiem && (koniunkcja), drugi potok jest wykonywany tylko wtedy, gdy pierwszy zakończy się powodzeniem (zwróci status zerowy). Jeśli dwa potoki są rozdzielone znakiem || (alternatywa), drugi jest wykonywany tylko wtedy, gdy pierwszy zakończy się niepowodzeniem (zwróci status różny od zera). Oba operatory mają równy priorytet i są lewostronnie asocjacyjne. Wartością listy poleceń jest wartość ostatniego wykonanego potoku. Na przykład:
sudo dmesg | grep -qi panic && print -- Był 'panic' || print -- Nie było 'panic'
to lista poleceń składająca się z trzech potoków, przy czym drugi potok zostanie wykonane wtedy i tylko wtedy, gdy polecenie grep zwróci status zerowy, w przeciwnym wypadku zostanie wykonany odstani potok.
Moduły Niektóre opcjonalne części Zsh znajdują się w dedykowanych modułach, oddzielonych od rdzenia powłoki – każdy z tych modułów może być połączony z powłoką w czasie kompilacji lub może być dynamicznie łączony podczas działania powłoki.