28 – ການອ່ານການປ້ອນຂໍ້ມູນແປ້ນພິມ
ສະຄຣິບທີ່ພວກເຮົາຂຽນມາເຖິງຕອນນັ້ນຍັງຂາດຄຸນສົມບັດທົ່ວໄປໃນໂປຣແກຣມຄອມພິວເຕີສ່ວນໃຫຍ່ - ການໂຕ້ຕອບ. ນັ້ນແມ່ນ, ຄວາມສາມາດຂອງໂປລແກລມໃນການພົວພັນກັບຜູ້ໃຊ້. ໃນຂະນະທີ່ໂປແກມຈໍານວນຫຼາຍບໍ່ຈໍາເປັນຕ້ອງມີການໂຕ້ຕອບ, ບາງໂຄງການໄດ້ຮັບຜົນປະໂຫຍດຈາກການສາມາດຍອມຮັບການປ້ອນຂໍ້ມູນໂດຍກົງຈາກຜູ້ໃຊ້. ຕົວຢ່າງ, ເອົາ script ນີ້ຈາກບົດທີ່ຜ່ານມາ:
#! / bin / bash
# test-integer2: ປະເມີນຄ່າຂອງຈຳນວນເຕັມ.
INT=-5
ຖ້າ [[ "$INT" =~ ^-?[0-9]+$ ]]; ແລ້ວຖ້າ [ $INT -eq 0 ]; ແລ້ວ
ສຽງສະທ້ອນ "INT ແມ່ນສູນ."
ອື່ນ
ຖ້າ [ $INT -lt 0 ]; ຫຼັງຈາກນັ້ນ, ສຽງສະທ້ອນ "INT ແມ່ນທາງລົບ."
ອື່ນ
ສຽງສະທ້ອນ "INT ເປັນບວກ."
fi
ຖ້າ [ $((INT % 2)) -eq 0 ]; ຫຼັງຈາກນັ້ນ, ສຽງສະທ້ອນ "INT ແມ່ນແມ້ກະທັ້ງ."
ອື່ນ
ສຽງສະທ້ອນ "INT ແມ່ນແປກ."
fi
fi ອື່ນ
echo "INT ບໍ່ແມ່ນຈໍານວນເຕັມ." >&2 ອອກ 1
fi
#! / bin / bash
# test-integer2: ປະເມີນຄ່າຂອງຈຳນວນເຕັມ.
INT=-5
ຖ້າ [[ "$INT" =~ ^-?[0-9]+$ ]]; ແລ້ວຖ້າ [ $INT -eq 0 ]; ແລ້ວ
ສຽງສະທ້ອນ "INT ແມ່ນສູນ."
ອື່ນ
ຖ້າ [ $INT -lt 0 ]; ຫຼັງຈາກນັ້ນ, ສຽງສະທ້ອນ "INT ແມ່ນທາງລົບ."
ອື່ນ
ສຽງສະທ້ອນ "INT ເປັນບວກ."
fi
ຖ້າ [ $((INT % 2)) -eq 0 ]; ຫຼັງຈາກນັ້ນ, ສຽງສະທ້ອນ "INT ແມ່ນແມ້ກະທັ້ງ."
ອື່ນ
ສຽງສະທ້ອນ "INT ແມ່ນແປກ."
fi
fi ອື່ນ
echo "INT ບໍ່ແມ່ນຈໍານວນເຕັມ." >&2 ອອກ 1
fi
ທີ່ໃຊ້ເວລາໃນແຕ່ລະພວກເຮົາຕ້ອງການທີ່ຈະມີການປ່ຽນແປງມູນຄ່າຂອງ INT, ພວກເຮົາຕ້ອງແກ້ໄຂສະຄິບ. ມັນຈະເປັນປະໂຫຍດຫຼາຍຖ້າສະຄິບສາມາດຖາມຜູ້ໃຊ້ສໍາລັບມູນຄ່າ. ໃນບົດນີ້, ພວກເຮົາຈະເລີ່ມຕົ້ນເບິ່ງວິທີທີ່ພວກເຮົາສາມາດເພີ່ມການໂຕ້ຕອບກັບໂຄງການຂອງພວກເຮົາ.