Sebagian besar bahasa pemrograman mempunyai konsep perulangan atau loop. Jika kita perlu mengulangi suatu tugas sebanyak 20 kali, kita tidak harus menuliskan kode yang sama sebanyak 20 kali. Shell Bash menyediakan perulangan for dan while. Shell Linux memang menyediakan lebih sedikit fitur dibandingkan bahasa dunia C/C++.
Perulangan for
Perulangan for digunakan untuk melakukan pekerjaan berulang sebanyak daftar yang disediakan:
Perulangan while dapat digunakan untuk melakukan pekerjaan berulang yang jumlah perulangannya tidak pasti tetapi bergantung pada suatu kondisi yang harus dipenuhi
Seleksi kondisi
Test
Test digunakan secara virtual oleh setiap skrip shell yang ditulis. Test memang tidak sering dipanggil secara langsung. Test sering dipanggil sebagai [. [ adalah link simbolik ke perintah test, membuat program shell lebih nyaman dibaca
Case
Pernyataan case menghemat pernyataan if .. then .. else banyak baris