ນີ້ແມ່ນຄໍາສັ່ງ getoptsposix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
getopts — parse ທາງເລືອກຜົນປະໂຫຍດ
ສະຫຼຸບສັງລວມ
ໝໍ້ optstring ຊື່ [arg...]
ລາຍລະອຽດ
ໄດ້ ໝໍ້ ຜົນປະໂຫຍດຈະດຶງເອົາທາງເລືອກແລະການໂຕ້ຖຽງທາງເລືອກຈາກບັນຊີລາຍຊື່ຂອງພາລາມິເຕີ.
ມັນຈະສະຫນັບສະຫນູນຄໍາແນະນໍາຂອງ Utility Syntax 3 ຫາ 10, ລວມທັງ, ອະທິບາຍຢູ່ໃນພື້ນຖານ.
ປະລິມານຄໍານິຍາມຂອງ POSIX.1-2008, ສ່ວນ 12.2, ຜົນປະໂຫຍດ syntax ຄູ່ມືແນະນໍາ.
ທີ່ໃຊ້ເວລາທີ່ມັນຖືກຮຽກຮ້ອງໃນແຕ່ລະ, ໄດ້ ໝໍ້ ຜົນປະໂຫຍດຈະຕ້ອງວາງມູນຄ່າຂອງທາງເລືອກຕໍ່ໄປໃນ
ຕົວແປ shell ທີ່ລະບຸໄວ້ໂດຍ ຊື່ operand ແລະດັດຊະນີຂອງການໂຕ້ຖຽງຕໍ່ໄປທີ່ຈະເປັນ
ປຸງແຕ່ງຢູ່ໃນຕົວແປຂອງແກະ ເລືອກ. ທຸກຄັ້ງທີ່ແກະຖືກເອີ້ນ, ເລືອກ ຈະເປັນ
ເລີ່ມຕົ້ນເປັນ 1.
ໃນເວລາທີ່ທາງເລືອກຮຽກຮ້ອງໃຫ້ມີການໂຕ້ຖຽງທາງເລືອກ, ໄດ້ ໝໍ້ ຜົນປະໂຫຍດຈະຕ້ອງວາງໄວ້ໃນ
shell ຕົວແປ OPTARG. ຖ້າຫາກວ່າບໍ່ມີທາງເລືອກທີ່ໄດ້ພົບເຫັນ, ຫຼືຖ້າຫາກວ່າທາງເລືອກທີ່ໄດ້ພົບບໍ່ໄດ້
ມີການໂຕ້ຖຽງທາງເລືອກ, OPTARG ຈະບໍ່ໄດ້ຕັ້ງ.
ຖ້າຕົວອັກສອນທາງເລືອກທີ່ບໍ່ມີຢູ່ໃນ optstring operand ຖືກພົບເຫັນບ່ອນທີ່ທາງເລືອກ
ຄາດວ່າຈະມີຕົວອັກສອນ, ຕົວແປຂອງ shell ທີ່ລະບຸໄວ້ໂດຍ ຊື່ ຈະຖືກຕັ້ງເປັນ
ເຄື່ອງໝາຍ> ('?') ລັກສະນະ. ໃນກໍລະນີນີ້, ຖ້າຫາກວ່າລັກສະນະທໍາອິດໃນ optstring ເປັນ
(':'), ຕົວແປຂອງແກະ OPTARG ຈະຖືກຕັ້ງເປັນຕົວອັກສອນທາງເລືອກທີ່ພົບເຫັນ, ແຕ່ບໍ່ມີຜົນຜະລິດ
ຈະຖືກຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ; ຖ້າບໍ່ດັ່ງນັ້ນ, shell ປ່ຽນແປງໄດ້ OPTARG ຈະບໍ່ໄດ້ຕັ້ງ
ແລະຂໍ້ຄວາມວິນິດໄສຈະຖືກຂຽນເປັນຂໍ້ຜິດພາດມາດຕະຖານ. ເງື່ອນໄຂນີ້ຈະເປັນ
ພິຈາລະນາເປັນຄວາມຜິດພາດທີ່ໄດ້ຮັບການກວດພົບໃນວິທີການໂຕ້ຖຽງໄດ້ຖືກນໍາສະເຫນີຕໍ່ການຮຽກຮ້ອງ
ຄໍາຮ້ອງສະຫມັກ, ແຕ່ຈະບໍ່ມີຄວາມຜິດພາດໃນ ໝໍ້ ການປຸງແຕ່ງ.
ຖ້າບໍ່ມີທາງເລືອກ-argument:
* ຖ້າຫາກວ່າລັກສະນະທໍາອິດຂອງ optstring ເປັນ , ຕົວແປຂອງແກະທີ່ລະບຸໂດຍ ຊື່
ຈະຖືກຕັ້ງເປັນ ລັກສະນະ ແລະຕົວແປຂອງແກະ OPTARG ຈະຖືກຕັ້ງເປັນ
ລັກສະນະທາງເລືອກທີ່ພົບເຫັນ.
* ຖ້າບໍ່ດັ່ງນັ້ນ, ຕົວແປຂອງແກະທີ່ລະບຸໄວ້ໂດຍ ຊື່ ຈະຖືກຕັ້ງເປັນ
ລັກສະນະ, ການປ່ຽນແປງ shell ໄດ້ OPTARG ຈະບໍ່ຖືກຕັ້ງ, ແລະຂໍ້ຄວາມວິນິດໄສຈະເປັນ
ຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ. ເງື່ອນໄຂນີ້ຈະຖືກພິຈາລະນາວ່າເປັນຄວາມຜິດພາດທີ່ກວດພົບ
ໃນວິທີການໂຕ້ຖຽງໄດ້ຖືກນໍາສະເຫນີຕໍ່ຄໍາຮ້ອງສະຫມັກ invoking, ແຕ່ຈະບໍ່ເປັນ
ຄວາມຜິດພາດໃນ ໝໍ້ ການປຸງແຕ່ງ; ຂໍ້ຄວາມວິນິດໄສຈະຕ້ອງຖືກຂຽນຕາມທີ່ລະບຸໄວ້, ແຕ່ວ່າ
ສະຖານະການອອກຈະຕ້ອງເປັນສູນ.
ໃນເວລາທີ່ສິ້ນສຸດທາງເລືອກແມ່ນພົບ, ໄດ້ ໝໍ້ ຜົນປະໂຫຍດຈະອອກໄປດ້ວຍຄ່າກັບຄືນ
ໃຫຍ່ກວ່າສູນ; ຕົວແປຂອງແກະ ເລືອກ ຈະຖືກຕັ້ງເປັນດັດຊະນີຂອງທໍາອິດ
operand, ຫຼືມູນຄ່າ "$#"+1 ຖ້າບໍ່ມີຕົວປະຕິບັດການ; ໄດ້ ຊື່ ຕົວແປຈະຖືກຕັ້ງເປັນ
ໄດ້ ລັກສະນະ. ອັນໃດອັນໜຶ່ງຕໍ່ໄປນີ້ຈະກຳນົດຈຸດສິ້ນສຸດຂອງທາງເລືອກ: ໄດ້
ຄັ້ງທໍາອິດ "−−" argument ທີ່ບໍ່ແມ່ນທາງເລືອກ - argument, ຊອກຫາການໂຕ້ຖຽງທີ່ບໍ່ແມ່ນ
option-argument ແລະບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍ a '−', ຫຼືພົບຄວາມຜິດພາດ.
ຕົວແປຂອງແກະ ເລືອກ ແລະ OPTARG ຈະຢູ່ໃນທ້ອງຖິ່ນກັບຜູ້ໂທຂອງ ໝໍ້ ແລະຈະ
ບໍ່ຖືກສົ່ງອອກໂດຍຄ່າເລີ່ມຕົ້ນ.
ຕົວແປ shell ທີ່ລະບຸໄວ້ໂດຍ ຊື່ ປະຕິບັດການ, ເລືອກ, ແລະ OPTARG ຈະມີຜົນກະທົບ
ສະພາບແວດລ້ອມການປະຕິບັດ shell ໃນປັດຈຸບັນ; ເບິ່ງ ສ່ວນ 2.12, Shell ການບໍລິຫານ ສະພາບແວດລ້ອມ.
ຖ້າຄໍາຮ້ອງສະຫມັກກໍານົດ ເລືອກ ກັບຄ່າ 1, ຊຸດພາລາມິເຕີໃຫມ່ສາມາດນໍາໃຊ້ໄດ້: ບໍ່ວ່າຈະ
ຕົວກໍານົດການຕໍາແຫນ່ງໃນປະຈຸບັນຫຼືໃຫມ່ arg ຄຸນຄ່າ. ຄວາມພະຍາຍາມອື່ນໆທີ່ຈະຮຽກຮ້ອງ ໝໍ້
ຫຼາຍຄັ້ງໃນສະພາບແວດລ້ອມການປະຕິບັດ shell ດຽວທີ່ມີພາລາມິເຕີ (ຕໍາແຫນ່ງ
ຕົວກໍານົດການຫຼື arg operands) ທີ່ບໍ່ຄືກັນໃນທຸກ invocations, ຫຼືມີ an ເລືອກ
ຄ່າທີ່ດັດແກ້ເປັນຄ່າອື່ນນອກເໜືອໄປຈາກ 1, ສ້າງຜົນໄດ້ຮັບທີ່ບໍ່ລະບຸ.
OPTIONS
ບໍ່ມີ.
ດໍາເນີນງານ
ໂຕປະຕິບັດການຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
optstring ສະຕຣິງທີ່ມີຕົວອັກສອນທາງເລືອກທີ່ຮັບຮູ້ໂດຍການເອີ້ນໃຊ້ປະໂຫຍດ
ໝໍ້. ຖ້າຕົວລະຄອນຖືກຕາມດ້ວຍ a , ທາງເລືອກຈະໄດ້ຮັບການຄາດວ່າຈະ
ທີ່ຈະມີການໂຕ້ຖຽງ, ທີ່ຄວນຈະໄດ້ຮັບການສະຫນອງໃຫ້ເປັນການໂຕ້ຖຽງແຍກຕ່າງຫາກ.
ແອັບພລິເຄຊັນຄວນລະບຸລັກສະນະທາງເລືອກ ແລະທາງເລືອກ - ການໂຕ້ຖຽງຂອງມັນ
ການໂຕ້ຖຽງແຍກຕ່າງຫາກ, ແຕ່ ໝໍ້ ຈະຕ້ອງຕີຄວາມໝາຍຂອງຕົວອັກສອນຕໍ່ໄປນີ້
ຕົວອັກສອນທາງເລືອກທີ່ຮຽກຮ້ອງໃຫ້ມີການໂຕ້ຖຽງເປັນ argument ວ່ານີ້ແມ່ນເຮັດໄດ້ຫຼືບໍ່.
ການໂຕ້ແຍ້ງທາງເລືອກ null ຢ່າງຊັດເຈນບໍ່ຈໍາເປັນຕ້ອງຖືກຮັບຮູ້ຖ້າຫາກວ່າມັນບໍ່ໄດ້ຖືກສະຫນອງໃຫ້ເປັນ
ການໂຕ້ຖຽງແຍກຕ່າງຫາກໃນເວລາທີ່ ໝໍ້ ຖືກຮຽກຮ້ອງ. (ເບິ່ງຍັງ getopt() ໜ້າ ທີ່
ກໍານົດໄວ້ໃນ System Interfaces volume ຂອງ POSIX.1-2008.) ຕົວອັກສອນ
ແລະ ຈະບໍ່ຖືກນໍາໃຊ້ເປັນຕົວອັກສອນທາງເລືອກໂດຍ an
ຄໍາຮ້ອງສະຫມັກ. ການນໍາໃຊ້ຕົວອັກສອນທາງເລືອກອື່ນທີ່ບໍ່ແມ່ນຕົວເລກແລະຕົວເລກ
ສ້າງຜົນໄດ້ຮັບທີ່ບໍ່ໄດ້ລະບຸ. ຖ້າທາງເລືອກ-argument ບໍ່ໄດ້ຖືກສະຫນອງໃຫ້ເປັນ a
argument ແຍກອອກຈາກຕົວອັກສອນທາງເລືອກ, ຄ່າໃນ OPTARG ຈະເປັນ
ຖອດລັກສະນະທາງເລືອກແລະ '−'. ລັກສະນະທໍາອິດໃນ optstring
ກໍານົດວິທີການ ໝໍ້ ປະພຶດຕົວຖ້າຕົວລະຄອນທາງເລືອກບໍ່ຮູ້ຈັກ ຫຼືທາງເລືອກ-
ການໂຕ້ຖຽງຂາດຫາຍໄປ.
ຊື່ ຊື່ຂອງຕົວແປຂອງ shell ທີ່ຈະຖືກກໍານົດໂດຍ ໝໍ້ ຜົນປະໂຫຍດຂອງ
ລັກສະນະທາງເລືອກທີ່ພົບເຫັນ.
ໄດ້ ໝໍ້ ຜົນປະໂຫຍດໂດຍຄ່າເລີ່ມຕົ້ນຈະແຍກຕົວກໍານົດການຕໍາແຫນ່ງທີ່ສົ່ງຕໍ່ກັບການເອີ້ນ
ຂັ້ນຕອນການແກະ. ຖ້າ args ຖືກມອບໃຫ້, ພວກມັນຈະຖືກວິເຄາະແທນທີ່ຈະເປັນຕໍາແຫນ່ງ
ຕົວກໍານົດການ.
STDIN
ບໍ່ໄດ້ນໍາໃຊ້.
ປັດໄຈນໍາເຂົ້າ ເອກະສານ
ບໍ່ມີ.
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ ໝໍ້:
ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ເພື່ອຄວາມກ້າວໜ້າຂອງການຫັນເປັນສາກົນ
ຕົວແປທີ່ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)
LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.
LC_CTYPE ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes ຂອງຂໍ້ມູນຂໍ້ຄວາມ
ເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte ຕົວອັກສອນໃນ
arguments ແລະ input ໄຟລ໌).
LC_MESSAGES
ກໍານົດທ້ອງຖິ່ນທີ່ຄວນຈະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງ
ຂໍ້ຄວາມການວິນິໄສທີ່ຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ.
NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.
ເລືອກ ຕົວແປນີ້ຈະຖືກໃຊ້ໂດຍ ໝໍ້ ຜົນປະໂຫຍດເປັນດັດຊະນີຂອງຕໍ່ໄປ
ການໂຕ້ຖຽງທີ່ຈະດໍາເນີນການ.
ASYNCHRONOUS ເຫດການ
ເລີ່ມຕົ້ນ.
STDOUT
ບໍ່ໄດ້ນໍາໃຊ້.
ສະດຸດ
ທຸກຄັ້ງທີ່ພົບຄວາມຜິດພາດແລະລັກສະນະທໍາອິດໃນ optstring operand ບໍ່ແມ່ນ
(':'), ຂໍ້ຄວາມວິນິດໄສຈະຖືກຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານທີ່ມີຕໍ່ໄປນີ້
ຂໍ້ມູນໃນຮູບແບບທີ່ບໍ່ໄດ້ລະບຸ:
* ຊື່ໂປຣແກຣມທີ່ຮຽກຮ້ອງຕ້ອງໄດ້ຮັບການລະບຸໄວ້ໃນຂໍ້ຄວາມ. ໂຄງການຮຽກຮ້ອງ
ຊື່ຈະຕ້ອງເປັນຄ່າຂອງຕົວກໍານົດການພິເສດຂອງແກະ 0 (ເບິ່ງ ສ່ວນ 2.5.2, ພິເສດ
ຕົວກໍານົດການ) ໃນເວລາທີ່ ໝໍ້ ຜົນປະໂຫຍດແມ່ນຮຽກຮ້ອງ. ຊື່ທີ່ທຽບເທົ່າກັບ:
ຊື່ພື້ນຖານ "$0"
ອາດຈະຖືກນໍາໃຊ້.
* ຖ້າພົບເຫັນທາງເລືອກທີ່ບໍ່ໄດ້ລະບຸໄວ້ໃນ optstring, ຄວາມຜິດພາດນີ້ຖືກກໍານົດ
ແລະຕົວອັກສອນທາງເລືອກທີ່ບໍ່ຖືກຕ້ອງຈະຖືກລະບຸໄວ້ໃນຂໍ້ຄວາມ.
* ຖ້າພົບທາງເລືອກທີ່ຕ້ອງການການໂຕ້ຖຽງທາງເລືອກ, ແຕ່ການໂຕ້ຖຽງທາງເລືອກບໍ່ແມ່ນ
ພົບເຫັນ, ຄວາມຜິດພາດນີ້ຈະຖືກລະບຸແລະຕົວອັກສອນທາງເລືອກທີ່ບໍ່ຖືກຕ້ອງຈະເປັນ
ລະບຸໄວ້ໃນຂໍ້ຄວາມ.
OUTPUT ເອກະສານ
ບໍ່ມີ.
ອະທິບາຍ ລາຍລະອຽດ
ບໍ່ມີ.
ອອກ STATUS
ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:
0 ທາງເລືອກ, ກໍານົດຫຼືບໍ່ໄດ້ກໍານົດໂດຍ optstring, ໄດ້ພົບເຫັນ.
>0 ການສິ້ນສຸດຂອງທາງເລືອກໄດ້ຖືກພົບຫຼືມີຂໍ້ຜິດພາດເກີດຂຶ້ນ.
ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ
ເລີ່ມຕົ້ນ.
ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.
ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້
ນັບຕັ້ງແຕ່ ໝໍ້ ມີຜົນກະທົບຕໍ່ສະພາບແວດລ້ອມການປະຕິບັດ shell ໃນປະຈຸບັນ, ມັນໄດ້ຖືກສະຫນອງໃຫ້ໂດຍທົ່ວໄປເປັນ
shell ປົກກະຕິກໍ່ສ້າງໃນ. ຖ້າມັນຖືກເອີ້ນໃນ subshell ຫຼືການປະຕິບັດການແຍກຜົນປະໂຫຍດ
ສິ່ງແວດລ້ອມເຊັ່ນຫນຶ່ງໃນດັ່ງຕໍ່ໄປນີ້:
(ຮັບ abc ມູນຄ່າ "$@")
ບໍ່ມີຫຍັງ ໝໍ້ ...
ຊອກຫາ . -exec ໝໍ້ ... \;
ມັນບໍ່ມີຜົນຕໍ່ຕົວແປຂອງແກະໃນສະພາບແວດລ້ອມຂອງຜູ້ໂທ.
ໃຫ້ສັງເກດວ່າຟັງຊັນ shell ແບ່ງປັນ ເລືອກ ກັບ shell ການໂທຫາເຖິງແມ່ນວ່າຕໍາແຫນ່ງ
ຕົວກໍານົດການມີການປ່ຽນແປງ. ຖ້າແກະໂທຫາແລະຫນ້າທີ່ຂອງມັນໃຊ້ ໝໍ້ to
parse arguments, ຜົນໄດ້ຮັບບໍ່ໄດ້ລະບຸ.
ຕົວຢ່າງ
ຕົວຢ່າງຕໍ່ໄປນີ້ script parses ແລະສະແດງ arguments ຂອງມັນ:
aflag=
bflag=
ໃນຂະນະທີ່ ໝໍ້ ab: ຊື່
do
ກໍລະນີ $name in
a) aflag=1;
b) bflag=1
bval="$OPTARG";
?) printf "ການນໍາໃຊ້: %s: [−a] [−b ຄ່າ] args\n" $0
ການທ່ອງທ່ຽວ 2 ;
ວ່າ C
ເຮັດ
if [ ! −z "$aflag" ]; ຫຼັງຈາກນັ້ນ
printf "ທາງເລືອກ −ກ ລະບຸ\n"
fi
if [ ! −z "$bflag" ]; ຫຼັງຈາກນັ້ນ
printf 'ທາງເລືອກ −ຂ "%s" ລະບຸ\n' "$bval"
fi
ປ່ຽນແປງ $(($OPTIND - 1)))
printf "ຍັງເຫຼືອ ກະທູ້ທີ່ ແມ່ນ: %s\n$*"
ສະຖານທີ່
ໄດ້ ໝໍ້ ຜົນປະໂຫຍດໄດ້ຖືກເລືອກຕາມຄວາມມັກຂອງລະບົບ V getopt ຜົນປະໂຫຍດເພາະວ່າ
ໝໍ້ ຈັດການທາງເລືອກ-arguments ທີ່ມີ ຕົວລະຄອນ.
ໄດ້ OPTARG ຕົວແປບໍ່ໄດ້ກ່າວເຖິງຢູ່ໃນພາກສ່ວນຕົວແປສະພາບແວດລ້ອມເນື່ອງຈາກວ່າມັນເຮັດ
ບໍ່ມີຜົນກະທົບການປະຕິບັດຂອງ ໝໍ້; ມັນແມ່ນໜຶ່ງໃນຕົວແປ ``ຜົນຜະລິດເທົ່ານັ້ນ'' ທີ່ໃຊ້
ໂດຍສາທາລະນະສຸກມາດຕະຖານ.
ໄດ້ ບໍ່ໄດ້ຖືກອະນຸຍາດໃຫ້ເປັນລັກສະນະທາງເລືອກເພາະວ່ານັ້ນບໍ່ແມ່ນພຶດຕິກໍາປະຫວັດສາດ,
ແລະມັນລະເມີດແນວທາງ Utility Syntax Guidelines. ໄດ້ ໃນ ປັດ ຈຸ ບັນ ໄດ້ ກໍາ ນົດ ໃຫ້ ປະ ຕິ ບັດ ເປັນ
ໃນສະບັບ KornShell ຂອງ ໝໍ້ ປະໂຫຍດ; ໃນເວລາທີ່ຖືກນໍາໃຊ້ເປັນລັກສະນະທໍາອິດໃນ
optstring operand, ມັນປິດການທໍາງານການວິນິດໄສກ່ຽວກັບການຂາດທາງເລືອກ - arguments ແລະ
ຕົວອັກສອນທາງເລືອກທີ່ບໍ່ຄາດຄິດ. ນີ້ທົດແທນການນໍາໃຊ້ຂອງ OPTERR ຕົວແປນັ້ນແມ່ນ
ລະບຸໄວ້ໃນບົດສະເໜີເບື້ອງຕົ້ນ.
ຮູບແບບຂອງຂໍ້ຄວາມວິນິດໄສທີ່ຜະລິດໂດຍ ໝໍ້ ຜົນປະໂຫຍດແລະ getopt()
ຟັງຊັນບໍ່ໄດ້ລະບຸໄວ້ຢ່າງຄົບຖ້ວນເພາະວ່າການຈັດຕັ້ງປະຕິບັດທີ່ມີເໜືອກວ່າ (``friendlier'')
ຮູບແບບທີ່ຄັດຄ້ານຮູບແບບທີ່ໃຊ້ໂດຍການປະຕິບັດປະຫວັດສາດບາງຢ່າງ. ມາດຕະຖານ
ນັກພັດທະນາຖືວ່າມັນສໍາຄັນທີ່ຂໍ້ມູນໃນຂໍ້ຄວາມທີ່ໃຊ້ເປັນເອກະພາບ
ລະຫວ່າງ ໝໍ້ ແລະ getopt(). ຂໍ້ຄວາມຊໍ້າກັນທີ່ແນ່ນອນອາດຈະບໍ່ເປັນໄປໄດ້,
ໂດຍສະເພາະຖ້າຜົນປະໂຫຍດຖືກສ້າງຢູ່ໃນລະບົບອື່ນທີ່ມີຄວາມແຕກຕ່າງກັນ getopt()
ຟັງຊັນ, ແຕ່ຂໍ້ຄວາມຕ້ອງມີຂໍ້ມູນສະເພາະລວມເພື່ອໃຫ້ໂຄງການ
ຊື່, ຕົວອັກສອນທາງເລືອກທີ່ບໍ່ຖືກຕ້ອງ, ແລະປະເພດຂອງຄວາມຜິດພາດສາມາດຖືກຈໍາແນກໂດຍຜູ້ໃຊ້.
ພຽງແຕ່ໂຄງການຄໍາຮ້ອງສະຫມັກທີ່ຫາຍາກຂັດຂວາງ a ໝໍ້ ຂໍ້ຄວາມຜິດພາດມາດຕະຖານແລະຕ້ອງການ
ວິເຄາະມັນ. ດັ່ງນັ້ນ, ການປະຕິບັດແມ່ນບໍ່ເສຍຄ່າທີ່ຈະເລືອກເອົາຂໍ້ຄວາມທີ່ໃຊ້ໄດ້ຫຼາຍທີ່ສຸດທີ່ພວກເຂົາສາມາດເຮັດໄດ້
ປະດິດ. ຮູບແບບຕໍ່ໄປນີ້ຖືກນໍາໃຊ້ໂດຍການປະຕິບັດປະຫວັດສາດຫຼາຍ:
"%s: ຜິດກົດຫມາຍ ທາງເລືອກ −− %c\n", <ໂຄງການ ຊື່>, <ທາງເລືອກ ລັກສະນະ>
"%s: ທາງເລືອກຕ້ອງການ argument −− %c\n",ໂຄງການ ຊື່>, \
<ທາງເລືອກ ລັກສະນະ>
ແກະປະຫວັດສາດທີ່ມີຮຸ່ນທີ່ສ້າງຂຶ້ນໃນ getopt() ຫລື ໝໍ້ ໄດ້ນໍາໃຊ້ທີ່ແຕກຕ່າງກັນ
ຮູບແບບ, ເລື້ອຍໆບໍ່ໄດ້ຊີ້ໃຫ້ເຫັນເຖິງຕົວອັກສອນທາງເລືອກທີ່ພົບເຫັນຢູ່ໃນຄວາມຜິດພາດ.
ອະນາຄົດ DIRECTIONS
ບໍ່ມີ.
ໃຊ້ getoptsposix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net