Unix / Linux - Jenis Shell Loop
Pada bab ini, kita akan membahas loop shell di Unix. Sebuah loop adalah alat pemrograman yang kuat yang memungkinkan Anda untuk mengeksekusi sekumpulan perintah berulang kali. Dalam bab ini, kita akan memeriksa jenis loop berikut yang tersedia untuk programmer shell -
- Loop sementara
- Putaran untuk
- Sampai loop
- Loop pemilihan
Anda akan menggunakan loop berbeda berdasarkan situasinya. Misalnya, filewhileloop mengeksekusi perintah yang diberikan sampai kondisi yang diberikan tetap benar; ituuntil loop dijalankan sampai kondisi tertentu menjadi true.
Setelah Anda memiliki praktik pemrograman yang baik, Anda akan mendapatkan keahlian dan dengan demikian, mulailah menggunakan loop yang sesuai berdasarkan situasinya. Sini,while dan for loop tersedia di sebagian besar bahasa pemrograman lain seperti C, C++ dan PERL, dll.
Loop Bersarang
Semua loop mendukung konsep bersarang yang berarti Anda dapat menempatkan satu loop di dalam loop lain yang serupa atau berbeda. Penyarangan ini dapat meningkat hingga beberapa kali berdasarkan kebutuhan Anda.
Berikut adalah contoh pembuatan sarang whilelingkaran. Loop lain dapat disarangkan berdasarkan persyaratan pemrograman dengan cara yang serupa -
Bersarang sementara Loops
Anda dapat menggunakan loop sementara sebagai bagian dari badan loop sementara lainnya.
Sintaksis
while command1 ; # this is loop1, the outer loop
do
Statement(s) to be executed if command1 is true
while command2 ; # this is loop2, the inner loop
do
Statement(s) to be executed if command2 is true
done
Statement(s) to be executed if command1 is true
done
Contoh
Berikut adalah contoh sederhana dari loop bersarang. Mari tambahkan loop hitung mundur lain di dalam loop yang Anda gunakan untuk menghitung sampai sembilan -
#!/bin/sh
a=0
while [ "$a" -lt 10 ] # this is loop1
do
b="$a"
while [ "$b" -ge 0 ] # this is loop2
do
echo -n "$b "
b=`expr $b - 1`
done
echo
a=`expr $a + 1`
done
Ini akan menghasilkan hasil sebagai berikut. Penting untuk diperhatikan caranyaecho -nbekerja di sini. Sini-n memungkinkan gema menghindari pencetakan karakter baris baru.
0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
5 4 3 2 1 0
6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0