ដូចជាភាសាស្គ្រីបដទៃទៀតដែរបាសក៏មានការគាំទ្រសម្រាប់រង្វិលជុំផងដែរ។
រង្វិលជុំគឺល្អសម្រាប់ធ្វើការច្រំដែល។ យើងអាចប្រើសម្រាប់រង្វិលជុំនិងខណៈពេលដែលរង្វិលជុំនៅក្នុងស្គ្រីប Bash របស់យើង។
វាក្យសម្ព័ន្ធនៃរង្វិលជុំគឺ៖
for VARIABLE in PARAM1 PARAM2 PARAM3 do // scope of for loop done
រង្វិលជុំនឹងប្រតិបត្តិសម្រាប់ប៉ារ៉ាម៉ែត្រនីមួយៗ។ ប៉ារ៉ាម៉ែត្រអាចជាលេខជួរនៃលេខឬខ្សែអក្សរជាដើម។
ឧទាហរណ៍សាមញ្ញនេះបោះពុម្ពលេខពី ១ ដល់ ៥ ដោយប្រើរង្វិលជុំ៖
#!/bin/bash for i in 1 2 3 4 5 do echo '$i' done
លទ្ធផល៖
1 2 3 4 5
យើងក៏អាចកំណត់ជួរនៃលេខដើម្បីរង្វិលជុំតាមរយៈ៖
ឧទាហរណ៍:
for i in {1..5} do echo '$i' done
លទ្ធផល៖
1 2 3 4 5
យើងក៏អាចប្រើសម្រាប់រង្វិលជុំដើម្បីរង្វិលជុំតាមរយៈប៉ារ៉ាម៉ែត្រខ្សែអក្សរ:
#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo '$day' done
លទ្ធផល៖
MON TUE WED THU FRI SAT SUN
យើងក៏អាចប្រើវាក្យសម្ពន្ធបែបអក្សរដើម្បីសរសេររង្វិលជុំ។ ឧទាហរណ៍:
#!/bin/bash for ((i=1; i<=5; i++)) do echo '$i' done
លទ្ធផល
1 2 3 4 5
ដើម្បីរាយឯកសារទាំងអស់នៅក្នុងថតបច្ចុប្បន្នដោយប្រើបាស់សម្រាប់រង្វិលជុំយើងប្រើ៖
#!/bin/bash for fname in ./ do ls -l $fname done
ប៊ីបក៏គាំទ្រផងដែរខណៈពេលរង្វិលជុំ។ ខណៈពេលដែលរង្វិលជុំប្រតិបត្តិសំណុំនៃការណែនាំរហូតដល់លក្ខខណ្ឌវាយតម្លៃទៅជាការពិត។
វាក្យសម្ព័ន្ធសម្រាប់ប៊ីបខណៈពេលរង្វិលជុំគឺ៖
while [condition] do //execute instructions done
លក្ខខណ្ឌត្រូវបានវាយតម្លៃមុនពេលអនុវត្តការណែនាំណាមួយ។ ដូច្នេះវាចាំបាច់ត្រូវមានមធ្យោបាយធ្វើបច្ចុប្បន្នភាពលក្ខខណ្ឌបើមិនដូច្នេះទេរង្វិលជុំនឹងដំណើរការជារៀងរហូត។
ខាងក្រោមនេះគឺជាការសាមញ្ញខណៈពេលដែលរង្វិលជុំដែលបោះពុម្ពលេខ ១ ដល់ ៥ ។ រង្វិលជុំត្រូវបានបញ្ចប់នៅពេលដែលលេខធំជាង ៥ ។
#!/bin/bash num=1 while [ $num -le 5 ] do echo '$num' let num++ done
ដូចជារង្វិលជុំដែរយើងក៏អាចសរសេរប៊ីចេងពេលរង្វិលជុំជាភាសា C ដែរ។
ឧទាហរណ៍:
#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done