ວິທີການຂຽນ IF-Statements ໃນ Bash-Script

ຄໍາສັ່ງ, ຄໍາສັບແລະຕົວຢ່າງ

ມີຄໍາສັ່ງຖ້າຄໍາ, ເຊິ່ງເປັນປະເພດຂອງຄໍາສັ່ງເງື່ອນໄຂ, ທ່ານສາມາດປະຕິບັດການປະຕິບັດທີ່ແຕກຕ່າງກັນໂດຍອີງຕາມເງື່ອນໄຂທີ່ລະບຸ. ມັນປະສິດທິຜົນໃຫ້ລະບົບຄວາມສາມາດໃນການຕັດສິນໃຈ.

ຕົວຢ່າງຂອງແບບຟອມທີ່ງ່າຍທີ່ສຸດຂອງ if-statement ຄື:

count = 5 ຖ້າ [$ count == 5] ແລ້ວ echo "$ count" fi

ໃນຕົວຢ່າງນີ້, ຕົວແປ "count" ຖືກໃຊ້ເພື່ອກໍານົດເງື່ອນໄຂທີ່ຖືກນໍາໃຊ້ເປັນສ່ວນຫນຶ່ງຂອງ if-statement. ກ່ອນທີ່ if-statement ຈະຖືກປະຕິບັດ, ຕົວແປ "count" ຖືກກໍາຫນົດຄ່າ "5". ຫຼັງຈາກນັ້ນການກວດສອບຖ້າວ່າ "ຄ່າ" ແມ່ນ "5". ຖ້າວ່ານັ້ນແມ່ນກໍລະນີຄໍາສັ່ງລະຫວ່າງຄໍາວ່າ "ຫຼັງຈາກນັ້ນ" ແລະ "fi" ຈະຖືກປະຕິບັດ, ຖ້າບໍ່ດັ່ງນັ້ນຄໍາໃດປະຕິບັດຕາມຄໍາສັ່ງ if-statement ຈະຖືກປະຕິບັດ. ຄໍາວ່າ "fi" ແມ່ນຄໍາວ່າ "if" ທີ່ຖືກສະກົດຢູ່ຫລັງ. ພາສາສະແກນ bash ໃຊ້ສົນທິສັນຍານີ້ເພື່ອຫມາຍເຖິງການສິ້ນສຸດຂອງການສະແດງສະລັບສັບຊ້ອນ, ດັ່ງກ່າວຖ້າເປັນຄໍາສັ່ງຫຼືຂໍ້ມູນກໍລະນີ.

ຄໍາເຕືອນ "echo" ພິມໂຕ້ແຍ້ງຂອງມັນ, ໃນກໍລະນີນີ້, ມູນຄ່າຂອງຕົວແປ "count", ກັບຫນ້າຕ່າງຂອງ terminal. ການເຂົ້າຫາລະຫັດລະຫວ່າງຄໍາທີ່ມີຄໍາວ່າ - ຖ້າມີຂໍ້ຄວາມປັບປຸງຄວາມສາມາດອ່ານໄດ້ແຕ່ບໍ່ຈໍາເປັນ.

ຖ້າທ່ານມີສະຖານະການທີ່ມີການປະຕິບັດລະຫັດພຽງແຕ່ຖ້າເງື່ອນໄຂບໍ່ຖືກຕ້ອງ, ທ່ານສາມາດໃຊ້ຄໍາວ່າ "else" ໃນ if-statement ເຊັ່ນໃນຕົວຢ່າງນີ້:

ນັບ = 5 ຖ້າ [$ count == 5] ແລ້ວ echo "count" ອີກ echo "count ບໍ່ແມ່ນ 5" fi

ຖ້າເງື່ອນໄຂ "$ count == 5" ຖືກຕ້ອງ, ລະບົບຈະພິມຄ່າຂອງຕົວແປ "count", ຖ້າບໍ່ດັ່ງນັ້ນມັນພິມ "string count" ບໍ່ແມ່ນ 5.

ຖ້າທ່ານຕ້ອງການແຍກຄວາມແຕກຕ່າງລະຫວ່າງເງື່ອນໄຂຫລາຍທ່ານສາມາດໃຊ້ຄໍາວ່າ "elif" ທີ່ມາຈາກ "else if" ເຊັ່ນໃນຕົວຢ່າງນີ້:

ຖ້າ [$ count == 5] ແລ້ວ echo "count is five" elif [$ count == 6] then echo "count is six" else echo "none of the above" fi

ຖ້າ "ນັບ" ແມ່ນ "5", ລະບົບພິມອອກ "ນັບແມ່ນຫ້າ". ຖ້າ "ນັບ" ບໍ່ແມ່ນ "5" ແຕ່ "6", ລະບົບພິມ "count ແມ່ນຫົກ". ຖ້າມັນບໍ່ແມ່ນ "5" ຫຼື "6", ລະບົບຈະພິມ "ບໍ່ມີຂໍ້ມູນຂ້າງເທິງ".

ດັ່ງທີ່ທ່ານອາດຈະຄາດເດົາ, ທ່ານສາມາດມີຂໍ້ຈໍາກັດຂອງ "elif". ຕົວຢ່າງທີ່ມີເງື່ອນໄຂ "elif" ຫຼາຍຈະເປັນ:

ຖ້າ [$ count == 5] ແລ້ວ echo "ນັບແມ່ນຫ້າ" elif [$ count == 6] ແລ້ວ echo "count is six" elif [$ count == 7] then echo "count is seven" elif [$ count = = 8] ແລ້ວ echo "count is eight" elif [$ count == 9] then echo "count is nine" else echo "none of the above" fi

ວິທີການທີ່ຫນາແຫນ້ນຫຼາຍທີ່ຈະຂຽນລາຍງານດັ່ງກ່າວມີເງື່ອນໄຂຫຼາຍແມ່ນວິທີການຂອງ ກໍລະນີ . ມັນເຮັດຫນ້າທີ່ຄ້າຍຄືກັບຄໍາວ່າ if-statement ທີ່ມີເງື່ອນໄຂ "elif" ຫລາຍແຕ່ມີຄວາມຊັດເຈນຫຼາຍ. ຕົວຢ່າງ, ຂໍ້ກໍານົດຂອງລະຫັດຂ້າງເທິງນີ້ສາມາດຖືກຂຽນຄືນໃຫມ່ດ້ວຍຄໍາສັ່ງ "case" ດັ່ງຕໍ່ໄປນີ້:

ກໍລະນີ "$ count" ໃນ 5) echo "ນັບແມ່ນຫ້າ"; 6) echo "count is six"; 7) echo "count is seven"; 8) echo "count is eight"; 9) echo "count is nine"; *) echo "none of the above" esac

ຖ້າຄໍາເວົ້າແມ່ນຖືກນໍາໃຊ້ພາຍໃນ ສໍາລັບ loops ຫຼື ໃນຂະນະທີ່ loops ໃນຕົວຢ່າງນີ້:

ນັບ = 1 ເຮັດ = 0 ໃນຂະນະທີ່ [$ count -le 9] ເຮັດການນອນ 1 ((count ++)) ຖ້າ [$ count == 5] ຫຼັງຈາກນັ້ນໃຫ້ສືບຕໍ່ຈືຂໍ້ມູນການ "count count"

ນອກນັ້ນທ່ານຍັງສາມາດໄດ້ປະສົມປະສານຖ້າຫາກວ່າຄໍາສັ່ງ. ການປະສົມປະສານທີ່ງ່າຍທີ່ສຸດຖ້າຫາກວ່າຄໍາຖະແຫຼງແມ່ນແບບຟອມ: ຖ້າ ... ຫຼັງຈາກນັ້ນ ... ອື່ນ ... ຖ້າ ... ຫຼັງຈາກນັ້ນ ... fi ... fi. ຢ່າງໃດກໍຕາມ, ຖ້າຄໍາສັ່ງສາມາດຕິດກັບຄວາມສັບສົນທີ່ມັກ.

ເບິ່ງອີກ ວິທີການຜ່ານການໂຕ້ຖຽງກັບ script bash ເຊິ່ງສະແດງໃຫ້ເຫັນວ່າວິທີການໃຊ້ເງື່ອນໄຂໃນການປະຕິບັດພາລາມິເຕີຜ່ານເສັ້ນຄໍາສັ່ງ.

ແກະ bash ສະຫນອງການກໍ່ສ້າງໂຄງການອື່ນໆ, ເຊັ່ນ: ສໍາລັບວົງ , ໃນຂະນະທີ່ວົງ , ແລະ ການສະແດງທາງຄະນິດສາດ .