Menjalankan perintah berulang dengan for dan while loops

January 25th, 2008

Bourne shell menyediakan for dan while loop yang membantu kita untuk melakukan perulangan perintah sesuai sejumlah argumen yang kita definisikan sebelumnya, contoh konkrit:


cd /home
for i in `echo *`; do (mkdir /media/$i; touch /media/.keep); done


atau menggunakan while dengan,


while :
( dmesg | tail; sleep 1 )
done

Pada perulangan for diatas apabila direktori /home berisi direktori:


w1
w2
w3
w4
w5

maka untuk setiap direktori tersebut akan dibuatkan direktori di /media/ dan dibuatkan file .keep untuk masing-masing direktori tersebut. Hasil dari perulangan for diatas akan menjadi direktori


/media/w1
/media/w2
/media/w3
/media/w4
/media/w5

dan file .keep dibawah masing-masing direktori,


/media/w1/.keep
/media/w2/.keep
/media/w3/.keep
/media/w4/.keep
/media/w5/.keep

sedangkan untuk while loop nya akan menjalankan perintah dmesg yang di pipe ke program tail secara terus-menerus dengan interval eksekusi per 1 detik. (untuk berhenti dari loop ini tekan CTRL-c).

kedua loop ini sering saya jalankan untuk membantu menjalankan repetitive task yang tidak dapat dilakukan di antarmuka GUI.


Leave a Reply