ຄໍາສັ່ງ, ຄໍາສັບແລະຕົວຢ່າງ
ທ່ານສາມາດດໍາເນີນການລໍາດັບຄໍາສັ່ງໂດຍການຂຽນເຂົ້າໄປໃນໄຟລ໌ script ແລະຫຼັງຈາກນັ້ນເຮັດວຽກໄດ້.
ໄຟລ໌ script ແມ່ນພຽງແຕ່ໄຟລ໌ຂໍ້ຄວາມ, ໂດຍປົກກະຕິມີການຂະຫຍາຍໄຟລ໌ .SH, ເຊິ່ງປະກອບດ້ວຍລໍາດັບຄໍາແນະນໍາທີ່ສາມາດຖືກປະຕິບັດຈາກເສັ້ນຄໍາສັ່ງ ( shell ).
ໃນຂະນະທີ່ຕົວຢ່າງຂອງ Loop
ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງຂອງຊ່ວງເວລາຫນຶ່ງ. ເມື່ອປະຕິບັດງານ, ໄຟລ໌ສະຄິບນີ້ຈະພິມຕົວເລກ 1 ເຖິງ 9 ໃນຫນ້າຈໍ. ໃນຂະນະທີ່ຄໍາຖະແຫຼງທີ່ເຮັດໃຫ້ທ່ານມີຄວາມຍືດຫຍຸ່ນຫຼາຍຂຶ້ນສໍາລັບການກໍານົດເງື່ອນໄຂການລົ້ມລະລາຍກ່ວາ ສໍາລັບວົງຈອນ .
#! / bin / bash count = 1 ໃນຂະນະທີ່ [$ count -le 9] ເຮັດ echo "count count" ນອນ 1 ((count ++) ແລ້ວຕົວຢ່າງ: ທ່ານສາມາດເຮັດໃຫ້ສະຄິບກ່ອນຫນ້ານີ້ເປັນວົງຈອນທີ່ບໍ່ມີຂອບເຂດໂດຍການຍົກເລີກຄໍາສັ່ງ increment "((count ++))":
#! / bin / bash count = 1 while [$ count -le 9] echo "count count" sleep 1 doneຄໍາສັ່ງ "ນອນ 1" ຢຸດການປະຕິບັດສໍາລັບ 1 ວິນາທີໃນແຕ່ລະເທື່ອ. ໃຊ້ ແປ້ນພິມແປ້ນ Ctrl + C ເພື່ອຢຸດການຂະບວນການ.
ນອກນັ້ນທ່ານຍັງສາມາດສ້າງຂອບເຂດທີ່ບໍ່ມີຂອບເຂດໂດຍການວາງເງີນເປັນເງື່ອນໄຂ:
#! / bin / bash count = 1 while: echo "count count" sleep 1 ((count ++)) doneໃນຄໍາສັ່ງທີ່ຈະນໍາໃຊ້ເງື່ອນໄຂຫຼາຍໃນຂະນະທີ່ຂັດຂວາງ, ທ່ານຕ້ອງໃຊ້ວົງເລັບສີ່ຫລ່ຽມ double square:
count = 1 done = 0 while [[$ count -le 9] && [$ done == 0]] echo "count count" sleep 1 ((count ++)) if [$ count == 5] ແລ້ວ $ done = 1 fi ແລ້ວໃນສະຄິບນີ້, ຕົວແປ "ເຮັດ" ຖືກເລີ່ມຕົ້ນເປັນ 0 ແລະຫຼັງຈາກນັ້ນກໍານົດໃຫ້ 1 ໃນເວລາທີ່ຈໍານວນຮອດ 5. ເງື່ອນໄຂຂອງວົງຈອນກ່າວວ່າຊ່ວງຂະນະທີ່ຈະສືບຕໍ່ເປັນ "ນັບ" ແມ່ນຫນ້ອຍກວ່າເກົ້າແລະ "ເຮັດ" ເທົ່າກັບ to zero ດັ່ງນັ້ນ loops ອອກຈາກເວລາທີ່ນັບມີເທົ່າກັບ 5.
"&&" ຫມາຍຄວາມວ່າຢ່າງມີເຫດຜົນ "ແລະ" ແລະ "||" ຫມາຍຄວາມວ່າມີເຫດຜົນ "ຫຼື".
ການສັງເກດທາງເລືອກສໍາລັບການເຊື່ອມຕໍ່ "ແລະ" ແລະ "ຫຼື" ໃນເງື່ອນໄຂແມ່ນ "-a" ແລະ "-o" ທີ່ມີວົງເລັບດຽວ. ເງື່ອນໄຂຂ້າງເທິງນີ້:
[[$ count -le 9] && [$ done == 0]]... ສາມາດໄດ້ຮັບການຂຽນໃຫມ່ເປັນ:
[$ count -le 9] -a [$ done == 0]ການອ່ານໄຟລ໌ຂໍ້ຄວາມແມ່ນເຮັດໂດຍປົກກະຕິກັບຂະຫນານ ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ສະຄິບ bash ອ່ານຂໍ້ມູນບັນທັດໂດຍເສັ້ນຂອງໄຟລ໌ທີ່ເອີ້ນວ່າ "inventory.txt:"
FILE = inventorytxt exec 6ເສັ້ນທໍາອິດມອບຊື່ໄຟລ໌ເຂົ້າໃສ່ກັບຕົວແປ "FILE". ເສັ້ນທີສອງຊ່ວຍປະຢັດ "ການປ້ອນຂໍ້ມູນມາດຕະຖານ" ໃນລາຍລະອຽດຂອງໄຟລ໌ "6" (ມັນອາດຈະມີມູນຄ່າລະຫວ່າງ 3 ຫາ 9). ນີ້ແມ່ນເຮັດເພື່ອວ່າ "ມາດຕະຖານການປ້ອນຂໍ້ມູນ" ສາມາດຖືກຟື້ນຟູຄືນໃຫມ່ເພື່ອບັນທຶກຄໍາອະທິບາຍ "0" ໃນຕອນທ້າຍຂອງສະຄິບ (ເບິ່ງຄໍາເຫັນ "exec 0 ໃນແຖວທີ 3, ໄຟລ໌ປະກອບໄດ້ຖືກມອບໃຫ້" 0 " ສໍາລັບການປ້ອນຂໍ້ມູນມາດຕະຖານຄໍາສັ່ງ "read" ແລ້ວອ່ານເສັ້ນຈາກໄຟລ໌ໃນແຕ່ລະ iteration ແລະມອບໃຫ້ variable "line1".
ໃນຄໍາສັ່ງເພື່ອອອກກໍາລັງກາຍກ່ອນໄວອັນຄວນ, ທ່ານສາມາດໃຊ້ຄໍາເວົ້າທີ່ແຕກຕ່າງເຊັ່ນນີ້:
count = 1 done = 0 while [$ count -le 9] echo "count count" sleep 1 ((count ++)) if [count count == 5] then break fi done echo Finishedຄໍາຖະແຫຼງການຢຸດພັກຜ່ອນການປະຕິບັດງານຂອງໂຄງການໃນຕອນທ້າຍໃນຂະນະທີ່ຂື້ນແລະປະຕິບັດຄໍາສັ່ງໃດໆຕາມມັນ. ໃນກໍລະນີນີ້, ຄໍາສັ່ງ "echo ສໍາເລັດ."
ໃນຂະນະດຽວກັນ, ຄໍາຖະແຫຼງຕໍ່ການສືບຕໍ່, ແຕ່ວ່າ, ຂ້າມພຽງແຕ່ສ່ວນທີ່ເຫຼືອໃນຂະນະທີ່ການປະຕິບັດໃນໄລຍະຂອງການເລີ້ມປະຈຸບັນແລະໄປໂດຍກົງກັບການຕໍ່ໄປຕໍ່ໄປ:
ນັບ = 1 ເຮັດ = 0 ໃນຂະນະທີ່ [$ count -le 9] ເຮັດການນອນ 1 ((count ++)) ຖ້າ [$ count == 5] ຫຼັງຈາກນັ້ນໃຫ້ສືບຕໍ່ຈືຂໍ້ມູນການ "count count"ໃນກໍລະນີນີ້, ຄໍາສັ່ງ "ສືບຕໍ່" ຈະຖືກປະຕິບັດເມື່ອມີຕົວແປ "count" ເຖິງ 5. ນີ້ຫມາຍຄວາມວ່າຄໍາສັ່ງຕໍ່ໄປນີ້ (echo "$ count") ບໍ່ໄດ້ຖືກປະຕິບັດໃນການເລັມນີ້ (ເມື່ອຄ່າຂອງ "count" ແມ່ນ 5).