ນີ້ແມ່ນຄໍາສັ່ງ zshcompctl ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
zshcompctl - zsh programmable ສໍາເລັດ
ລາຍລະອຽດ
ສະບັບຂອງ zsh ນີ້ມີສອງວິທີການປະຕິບັດການສໍາເລັດຂອງຄໍາສັບຕ່າງໆໃນເສັ້ນຄໍາສັ່ງ.
ຜູ້ໃຊ້ໃຫມ່ຂອງ shell ອາດຈະມັກໃຊ້ລະບົບໃຫມ່ແລະມີອໍານາດຫຼາຍໂດຍອີງໃສ່ shell
ໜ້າທີ່; ນີ້ແມ່ນອະທິບາຍຢູ່ໃນ zshcompsys(1), ແລະກົນໄກການແກະພື້ນຖານທີ່
ສະຫນັບສະຫນູນມັນໄດ້ຖືກອະທິບາຍຢູ່ໃນ zshcompwid(1). ຄູ່ມືນີ້ອະທິບາຍເຖິງອາຍຸ compctl
ຄໍາສັ່ງ.
compctl [ -CDT ] ທາງເລືອກໃນການ [ ຄໍາສັ່ງ ... ]
compctl [ -CDT ] ທາງເລືອກໃນການ [ -x ຮູບແບບ ທາງເລືອກໃນການ - ... -- ]
[ + ທາງເລືອກໃນການ [ -x ... -- ] ... [+] ] [ ຄໍາສັ່ງ ... ]
compctl -M ຈັບຄູ່ສະເພາະ ...
compctl -L [ -CDTM ] [ ຄໍາສັ່ງ ... ]
compctl + ຄໍາສັ່ງ ...
ຄວບຄຸມພຶດຕິກໍາການສໍາເລັດຂອງບັນນາທິການໂດຍອີງຕາມຊຸດທີ່ສະຫນອງ ທາງເລືອກໃນການ.
ຄໍາສັ່ງດັດແກ້ຕ່າງໆ, ໂດຍສະເພາະ ຂະຫຍາຍຫຼືຄໍາທີ່ສົມບູນ, ປົກກະຕິແລ້ວຖືກຜູກມັດກັບແຖບ, ຈະ
ພະຍາຍາມເຮັດສໍາເລັດຄໍາທີ່ພິມໂດຍຜູ້ໃຊ້, ໃນຂະນະທີ່ຄົນອື່ນ, ໂດຍສະເພາະແມ່ນ ລຶບ char-or-list,
ປົກກະຕິແລ້ວຖືກຜູກມັດກັບ ^D ໃນຮູບແບບການແກ້ໄຂ EMACS, ບອກຄວາມເປັນໄປໄດ້; compctl ຄວບຄຸມສິ່ງທີ່
ຄວາມເປັນໄປໄດ້ເຫຼົ່ານັ້ນແມ່ນ. ຕົວຢ່າງພວກເຂົາອາດຈະເປັນຊື່ໄຟລ໌ (ກໍລະນີທົ່ວໄປທີ່ສຸດ, ແລະ
ດັ່ງນັ້ນຄ່າເລີ່ມຕົ້ນ), ຕົວແປຂອງແກະ, ຫຼືຄໍາສັບຕ່າງໆຈາກບັນຊີລາຍການທີ່ລະບຸໂດຍຜູ້ໃຊ້.
ຄໍາສັ່ງ ດອກໄມ້
ການສໍາເລັດການໂຕ້ຖຽງຂອງຄໍາສັ່ງອາດຈະແຕກຕ່າງກັນສໍາລັບແຕ່ລະຄໍາສັ່ງຫຼືອາດຈະໃຊ້
ຄ່າເລີ່ມຕົ້ນ. ພຶດຕິກໍາໃນເວລາທີ່ສໍາເລັດຄໍາສັບຄໍາສັ່ງຕົວມັນເອງອາດຈະແຍກຕ່າງຫາກ
ລະບຸ. ເຫຼົ່ານີ້ກົງກັບທຸງຕໍ່ໄປນີ້ແລະການໂຕ້ຖຽງ, ເຊິ່ງທັງຫມົດ (ຍົກເວັ້ນ
ສໍາລັບການ -L) ອາດຈະຖືກລວມເຂົ້າກັບການປະສົມປະສານໃດໆຂອງ ທາງເລືອກໃນການ ອະທິບາຍຕໍ່ມາໃນ
ພາກສ່ວນ 'ທຸງທາງເລືອກ':
ຄໍາສັ່ງ ...
ການຄວບຄຸມການສໍາເລັດສໍາລັບຄໍາສັ່ງທີ່ມີຊື່, ທີ່ຈະຕ້ອງໄດ້ລະບຸໄວ້ສຸດທ້າຍໃນ
ເສັ້ນຄໍາສັ່ງ. ຖ້າການສໍາເລັດແມ່ນພະຍາຍາມສໍາລັບຄໍາສັ່ງທີ່ມີຊື່ເສັ້ນທາງປະກອບດ້ວຍ
slashes ແລະບໍ່ພົບຄໍານິຍາມສໍາເລັດ, ການຄົ້ນຫາແມ່ນ retried ກັບສຸດທ້າຍ
ອົງປະກອບຂອງຊື່ເສັ້ນທາງ. ຖ້າຄໍາສັ່ງເລີ່ມຕົ້ນດ້ວຍ a =, ສໍາເລັດແມ່ນພະຍາຍາມດ້ວຍ
ຊື່ເສັ້ນທາງຂອງຄໍາສັ່ງ.
ໃດໆຂອງ ຄໍາສັ່ງ ສະຕຣິງອາດຈະເປັນຮູບແບບຂອງແບບຟອມປົກກະຕິທີ່ໃຊ້ສໍາລັບຊື່ໄຟລ໌
ລຸ້ນ. ເຫຼົ່ານີ້ຄວນຈະຖືກອ້າງອີງເພື່ອປົກປ້ອງພວກເຂົາຈາກການຂະຫຍາຍທັນທີ; ສໍາລັບ
ຕົວຢ່າງສາຍຄໍາສັ່ງ 'ຟູ*' ຈັດແຈງໃຫ້ສໍາເລັດຂອງຄໍາສັບຕ່າງໆ
ຄໍາສັ່ງເລີ່ມຕົ້ນດ້ວຍ ຟູ. ໃນເວລາທີ່ການສໍາເລັດແມ່ນພະຍາຍາມ, ສໍາເລັດຮູບແບບທັງຫມົດ
ຖືກພະຍາຍາມໃນຄໍາສັ່ງປີ້ນກັບຄໍານິຍາມຂອງພວກເຂົາຈົນກ່ວາຫນຶ່ງກົງກັນ. ໂດຍຄ່າເລີ່ມຕົ້ນ,
ການສໍາເລັດຫຼັງຈາກນັ້ນດໍາເນີນການເປັນປົກກະຕິ, ie ແກະຈະພະຍາຍາມສ້າງຫຼາຍ
ກົງກັບຄໍາສັ່ງສະເພາະໃນແຖວຄໍາສັ່ງ; ນີ້ສາມາດ overridden ໂດຍ
ລວມທັງ -tn ໃນທຸງສໍາລັບການສໍາເລັດຮູບແບບ.
ໃຫ້ສັງເກດວ່ານາມແຝງຖືກຂະຫຍາຍກ່ອນທີ່ຊື່ຄໍາສັ່ງຈະຖືກກໍານົດເວັ້ນເສຍແຕ່ວ່າ
COMPLETE_ALIASES ທາງເລືອກແມ່ນກໍານົດໄວ້. ຄໍາສັ່ງອາດຈະບໍ່ຖືກລວມເຂົ້າກັບ -C, -D or -T
ທຸງ.
-C ຄວບຄຸມການສໍາເລັດໃນເວລາທີ່ຄໍາຄໍາສັ່ງຕົວມັນເອງກໍາລັງສໍາເລັດ. ຖ້າບໍ່ມີ compctl
-C ຄໍາສັ່ງໄດ້ຖືກອອກ, ຊື່ຂອງຄໍາສັ່ງປະຕິບັດໃດ (ບໍ່ວ່າຈະຢູ່ໃນ
ເສັ້ນທາງຫຼືສະເພາະກັບແກະ, ເຊັ່ນນາມແຝງຫຼືຫນ້າທີ່) ແມ່ນສໍາເລັດ.
-D ຄວບຄຸມພຶດຕິກໍາການສໍາເລັດໃນຕອນຕົ້ນສໍາລັບການໂຕ້ຖຽງຂອງຄໍາສັ່ງທີ່ບໍ່ໄດ້ມອບຫມາຍໃດໆ
ພຶດຕິກໍາພິເສດ. ຖ້າບໍ່ມີ compctl -D ຄໍາສັ່ງໄດ້ຖືກອອກ, ຊື່ໄຟລ໌ແມ່ນ
ສຳ ເລັດ.
-T ສະຫນອງທຸງສໍາເລັດເພື່ອນໍາໃຊ້ກ່ອນທີ່ຈະດໍາເນີນການອື່ນໆແມ່ນເຮັດ, ເຖິງແມ່ນວ່າ
ກ່ອນທີ່ຈະປຸງແຕ່ງສໍາລັບການ compctls ກໍານົດສໍາລັບຄໍາສັ່ງສະເພາະ. ນີ້ແມ່ນໂດຍສະເພາະແມ່ນ
ເປັນປະໂຫຍດເມື່ອລວມກັບການຂະຫຍາຍການສໍາເລັດ (the -x ທຸງ, ເບິ່ງພາກ
'ການຂະຫຍາຍການສໍາເລັດ' ຂ້າງລຸ່ມນີ້). ການນໍາໃຊ້ທຸງນີ້ທ່ານສາມາດກໍານົດພຶດຕິກໍາເລີ່ມຕົ້ນ
ເຊິ່ງຈະໃຊ້ກັບຄໍາສັ່ງທັງຫມົດໂດຍບໍ່ມີຂໍ້ຍົກເວັ້ນ, ຫຼືທ່ານສາມາດປ່ຽນແປງມາດຕະຖານ
ພຶດຕິກໍາສໍາລັບຄໍາສັ່ງທັງຫມົດ. ຕົວຢ່າງ, ຖ້າການເຂົ້າເຖິງຖານຂໍ້ມູນຂອງຜູ້ໃຊ້ແມ່ນເກີນໄປ
ຊ້າ ແລະ/ຫຼື ມັນມີຜູ້ໃຊ້ຫຼາຍເກີນໄປ (ດັ່ງນັ້ນການສໍາເລັດຫຼັງຈາກ `~'ຊ້າເກີນໄປ
be use), ທ່ານສາມາດນໍາໃຊ້
compctl -T -x ຂອງ[~] C[0,[^/]#]' -k ເພື່ອນ -S/ -tn
ເພື່ອຕື່ມຂໍ້ມູນໃສ່ໃນ array ເພື່ອນ ຫຼັງຈາກ `~'. ໄດ້ C[...] ການໂຕ້ຖຽງແມ່ນ
ມີຄວາມຈໍາເປັນເພື່ອໃຫ້ຮູບແບບນີ້ ~-completion ບໍ່ໄດ້ພະຍາຍາມຫຼັງຈາກຊື່ໄດເລກະທໍລີ
ແມ່ນສໍາເລັດ.
-L ລາຍຊື່ພຶດຕິກໍາການສໍາເລັດທີ່ມີຢູ່ແລ້ວໃນລັກສະນະທີ່ເຫມາະສົມສໍາລັບການວາງເຂົ້າໄປໃນ a
script ເລີ່ມຕົ້ນ; ພຶດຕິກໍາທີ່ມີຢູ່ແລ້ວແມ່ນບໍ່ປ່ຽນແປງ. ການປະສົມປະສານໃດໆຂອງ
ຮູບແບບຂ້າງເທິງ, ຫຼື -M ທຸງ (ເຊິ່ງຕ້ອງປະຕິບັດຕາມ -L ທຸງ), ອາດຈະຖືກກໍານົດ,
ຖ້າບໍ່ດັ່ງນັ້ນການສໍາເລັດທີ່ຖືກກໍານົດໄວ້ທັງຫມົດຈະຖືກລະບຸໄວ້. ທຸງອື່ນໆທີ່ສະໜອງໃຫ້ແມ່ນ
ບໍ່ສົນໃຈ.
no ການໂຕ້ຖຽງ
ຖ້າບໍ່ມີການໂຕ້ຖຽງ, compctl ລາຍການສໍາເລັດການກໍານົດທັງຫມົດໃນຕົວຫຍໍ້
ແບບຟອມ; ກັບບັນຊີລາຍຊື່ຂອງ ທາງເລືອກໃນການ, ສໍາເລັດທັງຫມົດທີ່ມີທຸງເຫຼົ່ານັ້ນທີ່ກໍານົດໄວ້ (ບໍ່ນັບ
ຂະຫຍາຍການສໍາເລັດ) ແມ່ນລະບຸໄວ້.
ຖ້າ + ທຸງແມ່ນຢູ່ຄົນດຽວແລະປະຕິບັດຕາມທັນທີໂດຍ ຄໍາສັ່ງ ບັນຊີລາຍຊື່, ສໍາເລັດ
ພຶດຕິກຳຂອງຄຳສັ່ງທັງໝົດໃນລາຍການຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ,
ການສໍາເລັດຫຼັງຈາກນັ້ນຈະນໍາໃຊ້ທາງເລືອກທີ່ລະບຸໄວ້ໂດຍ -D ທຸງ.
ແບບຟອມກັບ -M ເປັນທາງເລືອກທໍາອິດແລະທາງເລືອກດຽວກໍານົດຂໍ້ກໍານົດການຈັບຄູ່ທົ່ວໂລກ (ເບິ່ງ
zshcompwid). ຂໍ້ມູນສະເພາະຂອງການແຂ່ງຂັນທີ່ໃຫ້ມາຈະຖືກນໍາໃຊ້ສໍາລັບທຸກໆຄວາມພະຍາຍາມສໍາເລັດ
(ພຽງແຕ່ໃນເວລາທີ່ການນໍາໃຊ້ compctl, ບໍ່ແມ່ນກັບລະບົບການສໍາເລັດໃຫມ່) ແລະຖືກພະຍາຍາມໃນຄໍາສັ່ງ
ໃນທີ່ພວກເຂົາເຈົ້າໄດ້ຖືກກໍານົດຈົນກ່ວາຫນຶ່ງສ້າງຢ່າງຫນ້ອຍຫນຶ່ງການແຂ່ງຂັນ. ຕົວຢ່າງ:
compctl -M '' 'm:{a-zA-Z}={A-Za-z}'
ອັນທຳອິດນີ້ຈະພະຍາຍາມເຮັດສຳເລັດໂດຍບໍ່ມີຂໍ້ສະເພາະທີ່ກົງກັນທົ່ວໂລກ (ສະຕຣິງຫວ່າງເປົ່າ)
ແລະ, ຖ້າອັນນັ້ນບໍ່ກົງກັນ, ຈະພະຍາຍາມເຮັດສຳເລັດກໍລະນີທີ່ບໍ່ເຂົ້າໃຈ.
ທາງເລືອກ ດອກໄມ້
[ -fcFBdeaRGovNAIOPZEnbjrzu/12 ]
[ -k array ] [ -g globstring ] [ -s ສາຍຍ່ອຍ ]
[ -K ຫນ້າທີ່ ]
[ -Q ] [ -P ຄຳ ນຳ ໜ້າ ] [ -S បច្ច័យ ]
[ -W file-prefix ] [ -H num ຮູບແບບ ]
[ -q ] [ -X ຄໍາອະທິບາຍ ] [ -Y ຄໍາອະທິບາຍ ]
[ -y func-or-var ] [ -l cmd ] [ -h cmd ] [ -U ]
[ -t ດໍາເນີນການຕໍ່ ] [ -J ຊື່ ] [ -V ຊື່ ]
[ -M ການຈັບຄູ່ spec ]
ສ່ວນທີ່ເຫຼືອ ທາງເລືອກໃນການ ລະບຸປະເພດຂອງການໂຕ້ຖຽງຄໍາສັ່ງເພື່ອຊອກຫາໃນລະຫວ່າງການສໍາເລັດ.
ການປະສົມປະສານຂອງທຸງເຫຼົ່ານີ້ອາດຈະຖືກລະບຸໄວ້; ຜົນໄດ້ຮັບແມ່ນບັນຊີລາຍຊື່ຈັດລຽງຂອງທັງຫມົດ
ຄວາມເປັນໄປໄດ້. ທາງເລືອກແມ່ນດັ່ງຕໍ່ໄປນີ້.
ງ່າຍດາຍ ທົງ
ລາຍການຜະລິດຕະພັນສໍາເລັດການເຫຼົ່ານີ້ເຮັດຂຶ້ນໂດຍແກະເອງ:
-f ຊື່ໄຟລ໌ ແລະເສັ້ນທາງລະບົບໄຟລ໌.
-/ ພຽງແຕ່ເສັ້ນທາງລະບົບໄຟລ໌.
-c ຊື່ຄໍາສັ່ງ, ລວມທັງນາມແຝງ, ຫນ້າທີ່ແກະ, buildins ແລະຄໍາທີ່ສະຫງວນໄວ້.
-F ຊື່ຟັງຊັນ.
-B ຊື່ຂອງຄໍາສັ່ງ builtin.
-m ຊື່ຂອງຄໍາສັ່ງພາຍນອກ.
-w ຄໍາທີ່ສະຫງວນໄວ້.
-a ນາມສະກຸນ.
-R ຊື່ນາມແຝງປົກກະຕິ (ບໍ່ແມ່ນທົ່ວໂລກ).
-G ຊື່ນາມແຝງທົ່ວໂລກ.
-d ນີ້ສາມາດຖືກລວມເຂົ້າກັບ -F, -B, -w, -a, -R ແລະ -G ເພື່ອເອົາຊື່ຄົນພິການ
ຟັງຊັນ, buildins, ຄໍາສະຫງວນຫຼືນາມແຝງ.
-e ຕົວເລືອກນີ້ (ເພື່ອສະແດງຄໍາສັ່ງທີ່ເປີດໃຊ້ງານ) ແມ່ນມີຜົນຕາມຄ່າເລີ່ມຕົ້ນ, ແຕ່ອາດຈະຖືກລວມເຂົ້າກັນ
ກັບ -d; -from ໃນການປະສົມປະສານກັບ -F, -B, -w, -a, -R ແລະ -G ຈະປະກອບຊື່ຂອງ
ຟັງຊັນ, buildins, ຄໍາສະຫງວນຫຼືນາມແຝງບໍ່ວ່າຈະຖືກປິດການໃຊ້ງານຫຼືບໍ່.
-o ຊື່ຂອງຕົວເລືອກແກະ (ເບິ່ງ zshoptions(1)).
-v ຊື່ຂອງຕົວແປໃດນຶ່ງທີ່ກຳນົດໄວ້ໃນ shell.
-N ຊື່ຂອງຕົວກໍານົດການ scalar (ທີ່ບໍ່ແມ່ນ array).
-A ຊື່ອາເຣ.
-I ຊື່ຂອງຕົວແປຈຳນວນເຕັມ.
-O ຊື່ຂອງຕົວແປທີ່ອ່ານເທົ່ານັ້ນ.
-p ຊື່ພາລາມິເຕີທີ່ໃຊ້ໂດຍແກະ (ລວມທັງຕົວກໍານົດການພິເສດ).
-Z ຊື່ຂອງຕົວກໍານົດການພິເສດຂອງແກະ.
-E ຊື່ຂອງຕົວແປສະພາບແວດລ້ອມ.
-n ໄດເລກະທໍລີທີ່ມີຊື່.
-b ຊື່ຜູກມັດຫຼັກ.
-j ຊື່ວຽກ: ຄໍາທໍາອິດຂອງສາຍຄໍາສັ່ງຂອງຜູ້ນໍາວຽກ. ນີ້ແມ່ນເປັນປະໂຫຍດກັບ
ໄດ້ ຂ້າ ກໍ່ສ້າງ.
-r ຊື່ວຽກເຮັດງານທໍາ.
-z ຊື່ວຽກທີ່ຖືກໂຈະ.
-u ຊື່ຜູ້ໃຊ້.
ທົງ ກັບ Arguments
ເຫຼົ່ານີ້ມີການໂຕ້ແຍ້ງທີ່ໃຫ້ຜູ້ໃຊ້ເພື່ອກໍານົດວິທີການເຮັດບັນຊີລາຍຊື່ຂອງການສໍາເລັດ
ເຖິງ:
-k array
ຊື່ເອົາມາຈາກອົງປະກອບຂອງ $array (ສັງເກດວ່າ `$'ບໍ່ປາກົດຢູ່ໃນ
ເສັ້ນຄໍາສັ່ງ). ອີກທາງເລືອກ, ການໂຕ້ຖຽງ array ຕົວຂອງມັນເອງອາດຈະເປັນຊຸດຂອງພື້ນທີ່ - ຫຼື
ຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດໃນວົງເລັບ, ເຊິ່ງຕົວຂັ້ນໃດນຶ່ງອາດຈະຖືກຫລົບໜີດ້ວຍ
backslash; ໃນກໍລະນີນີ້, ການໂຕ້ຖຽງຄວນຈະຖືກອ້າງເຖິງ. ຍົກຕົວຢ່າງ,
compctl -k "(cputime ຂະໜາດໄຟລ໌ ຂະໜາດຂໍ້ມູນ stacksize
coredumpsize resident ຄໍາອະທິບາຍ)" ກໍານົດຂອບເຂດ
-g globstring
ໄດ້ globstring ຖືກຂະຫຍາຍໂດຍໃຊ້ຊື່ໄຟລ໌ globbing; ມັນຄວນຈະຖືກອ້າງອີງເພື່ອປົກປ້ອງ
ມັນມາຈາກການຂະຫຍາຍຕົວໃນທັນທີ. ຊື່ໄຟລ໌ຜົນໄດ້ຮັບຖືກປະຕິບັດຕາມທີ່ເປັນໄປໄດ້
ສໍາເລັດ. ໃຊ້ `*(/)' ແທນທີ່ຈະ `*/' ສໍາລັບລາຍຊື່. ໄດ້ ບໍ່ສົນໃຈ ພິເສດ
ພາລາມິເຕີບໍ່ໄດ້ໃຊ້ກັບໄຟລ໌ຜົນໄດ້ຮັບ. ອາດມີຫຼາຍກວ່າໜຶ່ງຮູບແບບ
ແບ່ງອອກໂດຍຊ່ອງຫວ່າງ. (ໃຫ້ສັງເກດວ່າການຂະຫຍາຍວົງເລັບແມ່ນ ບໍ່ ສ່ວນຫນຶ່ງຂອງການ globbing. ໃຊ້
syntax `(ທັງ|ຫຼື)'ເພື່ອຈັບຄູ່ທາງເລືອກ.)
-s ສາຍຍ່ອຍ
ໄດ້ ສາຍຍ່ອຍ ຖືກແບ່ງອອກເປັນຄໍາສັບຕ່າງໆແລະຄໍາສັບເຫຼົ່ານີ້ແມ່ນຫຼາຍກ່ວາການຂະຫຍາຍການນໍາໃຊ້ທັງຫມົດ
ກົນໄກການຂະຫຍາຍເປືອກ (ເບິ່ງ zshexpn(1)). ຄໍາສັບຕ່າງໆທີ່ໄດ້ຮັບແມ່ນໄດ້ຮັບການປະຕິບັດເປັນ
ສໍາເລັດທີ່ເປັນໄປໄດ້. ໄດ້ ບໍ່ສົນໃຈ ຕົວກໍານົດການພິເສດບໍ່ໄດ້ຖືກນໍາໃຊ້ກັບ
ໄຟລ໌ຜົນໄດ້ຮັບ. ໃຫ້ສັງເກດວ່າ -g ແມ່ນໄວຂຶ້ນສໍາລັບຊື່ໄຟລ໌.
-K ຫນ້າທີ່
ໂທຫາຟັງຊັນທີ່ໃຫ້ໄວ້ເພື່ອໃຫ້ສໍາເລັດ. ເວັ້ນເສຍແຕ່ວ່າຊື່ເລີ່ມຕົ້ນດ້ວຍ an
underscore, ການທໍາງານແມ່ນຜ່ານສອງ arguments: ຄໍານໍາຫນ້າແລະ suffix ຂອງ
ຄໍາສັບທີ່ສໍາເລັດແມ່ນຈະພະຍາຍາມ, ໃນຄໍາສັບຕ່າງໆອື່ນໆຕົວອັກສອນເຫຼົ່ານັ້ນກ່ອນ
ຕຳແໜ່ງຕົວກະພິບ, ແລະຈາກຕຳແໜ່ງຕົວກະພິບເປັນຕົ້ນໄປ. ຄໍາສັ່ງທັງຫມົດ
ສາຍສາມາດເຂົ້າເຖິງໄດ້ດ້ວຍ -c ແລະ -l ທຸງຂອງ ອ່ານ ກໍ່ສ້າງ. ຫນ້າທີ່
ຄວນກໍານົດຕົວແປ Reply ໄປຫາ array ທີ່ປະກອບດ້ວຍການສໍາເລັດ (ຫນຶ່ງ
ສໍາເລັດແຕ່ລະອົງປະກອບ); ສັງເກດວ່າ Reply ບໍ່ຄວນເຮັດຢູ່ໃນທ້ອງຖິ່ນເພື່ອຟັງຊັນ.
ຈາກຫນ້າທີ່ດັ່ງກ່າວ, ເສັ້ນຄໍາສັ່ງສາມາດເຂົ້າເຖິງໄດ້ດ້ວຍ -c ແລະ -l ທຸງໄປ
ໄດ້ ອ່ານ ກໍ່ສ້າງ. ຍົກຕົວຢ່າງ,
ຫນ້າທີ່ ຜູ້ທີ່ { ຕອບ=(`ຜູ້ໃຊ້`); }
compctl -K ຜູ້ທີ່ ສົນທະນາ
ສໍາເລັດພຽງແຕ່ຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບຫຼັງຈາກ `ສົນທະນາ'. ໃຫ້ສັງເກດວ່າ `ຜູ້ທີ່' ຕ້ອງກັບຄືນ
array, ດັ່ງນັ້ນ `ຕອບ=`ຜູ້ໃຊ້`' ຈະບໍ່ຖືກຕ້ອງ.
-H num ຮູບແບບ
ການສໍາເລັດທີ່ເປັນໄປໄດ້ແມ່ນເອົາມາຈາກສຸດທ້າຍ num ສາຍປະຫວັດສາດ. ພຽງແຕ່ຄໍາສັບຕ່າງໆ
ການຈັບຄູ່ ຮູບແບບ ຖືກປະຕິບັດ. ຖ້າ num ເປັນສູນ ຫຼືທາງລົບ ປະຫວັດສາດທັງໝົດແມ່ນ
ຄົ້ນຫາແລະຖ້າ ຮູບແບບ ແມ່ນສະຕຣິງຫວ່າງເປົ່າທຸກຄໍາຖືກປະຕິບັດ (ເຊັ່ນດຽວກັນກັບ `*'). ກ
ການນໍາໃຊ້ປົກກະຕິແມ່ນ
compctl -D -f + -H 0 ''
ເຊິ່ງບັງຄັບໃຫ້ສໍາເລັດການເບິ່ງຄືນໃນບັນຊີລາຍຊື່ປະຫວັດສາດສໍາລັບຄໍາສັບໃດຫນຶ່ງຖ້າບໍ່ມີຊື່ໄຟລ໌
ກົງກັນ.
ການຄວບຄຸມ ທົງ
ເຫຼົ່ານີ້ບໍ່ໄດ້ກໍານົດໂດຍກົງປະເພດຂອງຊື່ທີ່ຈະສໍາເລັດ, ແຕ່ manipulate ທາງເລືອກ
ທີ່ເຮັດ:
-Q ນີ້ສັ່ງໃຫ້ shell ບໍ່ໃຫ້ອ້າງເຖິງ metacharacters ທີ່ເປັນໄປໄດ້
ສໍາເລັດ. ໂດຍປົກກະຕິ, ຜົນໄດ້ຮັບຂອງການສໍາເລັດຈະຖືກໃສ່ເຂົ້າໄປໃນຄໍາສັ່ງ
ເສັ້ນກັບ metacharacters ໃດໆທີ່ຍົກມາເພື່ອໃຫ້ພວກເຂົາຖືກຕີຄວາມເປັນປົກກະຕິ
ຕົວລະຄອນ. ນີ້ແມ່ນເຫມາະສົມສໍາລັບຊື່ໄຟລ໌ແລະສະຕຣິງທໍາມະດາ. ຢ່າງໃດກໍຕາມ, ສໍາລັບ
ຜົນກະທົບພິເສດ, ເຊັ່ນ: ການໃສ່ການສະແດງອອກ backquoted ຈາກ array ສໍາເລັດ
(-k) ດັ່ງນັ້ນການສະແດງອອກຈະບໍ່ຖືກປະເມີນຈົນກ່ວາເສັ້ນຄົບຖ້ວນສົມບູນ
ດໍາເນີນການ, ທາງເລືອກນີ້ຕ້ອງຖືກນໍາໃຊ້.
-P ຄຳ ນຳ ໜ້າ
ໄດ້ ຄຳ ນຳ ໜ້າ ຖືກໃສ່ກ່ອນສາຍທີ່ເຮັດແລ້ວ; ພາກສ່ວນໃດນຶ່ງໃນເບື້ອງຕົ້ນແລ້ວ
typed ຈະໄດ້ຮັບການສໍາເລັດແລະທັງຫມົດ ຄຳ ນຳ ໜ້າ ຖືກລະເລີຍເພື່ອຈຸດປະສົງການສໍາເລັດ. ສໍາລັບ
ຍົກຕົວຢ່າງ,
compctl -j -P "%" ຂ້າ
ໃສ່ `%' ຫຼັງຈາກຄໍາສັ່ງ kill ແລະຫຼັງຈາກນັ້ນເຮັດສໍາເລັດຊື່ວຽກ.
-S បច្ច័យ
ໃນເວລາທີ່ສໍາເລັດແມ່ນໄດ້ພົບເຫັນ បច្ច័យ ຖືກໃສ່ຫຼັງຈາກສາຍທີ່ສໍາເລັດແລ້ວ. ໃນ
ກໍລະນີຂອງການສໍາເລັດເມນູຄໍາຕໍ່ທ້າຍແມ່ນ inserted ທັນທີ, ແຕ່ວ່າມັນຍັງ
ເປັນໄປໄດ້ທີ່ຈະຮອບວຽນຜ່ານບັນຊີລາຍຊື່ຂອງການສໍາເລັດໂດຍການຕີຊ້ໍາກັນ
key
-W file-prefix
ມີລະບົບ file-prefix: ສໍາລັບຄໍາສັ່ງ, ໄຟລ໌, directory ແລະ globbing ສໍາເລັດ
(ທາງເລືອກ -c, -f, -/, -g), ຄໍານໍາຫນ້າໄຟລ໌ແມ່ນເພີ່ມ implicitly ຢູ່ທາງຫນ້າຂອງ
ສໍາເລັດ. ຍົກຕົວຢ່າງ,
compctl -/ -W ~/ຈົດໝາຍ maildirs
ເຮັດສໍາເລັດໄດເລກະທໍລີຍ່ອຍໃດໆກັບຄວາມເລິກໃດໆພາຍໃຕ້ໄດເລກະທໍລີ ~/ຈົດໝາຍ, ເຖິງແມ່ນວ່າ
ຄໍານໍາຫນ້ານັ້ນບໍ່ປາກົດຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ໄດ້ file-prefix ອາດຈະເປັນຂອງ
ແບບຟອມທີ່ຍອມຮັບໂດຍ -k ທຸງ, ie ຊື່ຂອງ array ຫຼືບັນຊີລາຍຊື່ຕົວຫນັງສືໃນ
ວົງເລັບ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ບັນຊີລາຍຊື່ທັງຫມົດຈະຖືກຊອກຫາ
ສໍາເລັດທີ່ເປັນໄປໄດ້.
-q ຖ້າໃຊ້ກັບຄຳຕໍ່ທ້າຍຕາມທີ່ກຳນົດໄວ້ໂດຍ -S ທາງເລືອກ, ນີ້ເຮັດໃຫ້ suffix ເປັນ
ຖອດອອກຖ້າຫາກວ່າຕົວອັກສອນຕໍ່ໄປທີ່ພິມເປັນຫວ່າງເປົ່າຫຼືບໍ່ໄດ້ໃສ່ຫຍັງຫຼືຖ້າຫາກວ່າ
ຄໍາຕໍ່ທ້າຍປະກອບດ້ວຍຕົວອັກສອນດຽວ ແລະຕົວອັກສອນຕໍ່ໄປທີ່ພິມແມ່ນຄືກັນ
ລັກສະນະ; ນີ້ແມ່ນກົດລະບຽບດຽວກັນທີ່ໃຊ້ສໍາລັບ AUTO_REMOVE_SLASH ທາງເລືອກ. ທາງເລືອກແມ່ນ
ເປັນປະໂຫຍດທີ່ສຸດສໍາລັບຕົວແຍກລາຍຊື່ (ເຄື່ອງໝາຍຈຸດ, ຈໍ້າສອງເມັດ, ແລະອື່ນໆ).
-l cmd ຕົວເລືອກນີ້ຈໍາກັດຂອບເຂດຂອງຄໍາທີ່ໃຊ້ໃນແຖວຄໍາສັ່ງທີ່ຖືວ່າເປັນ
ການໂຕ້ຖຽງ. ຖ້າລວມກັບຮູບແບບການສໍາເລັດທີ່ຂະຫຍາຍອອກp[...]',
`r[...]', ຫຼື `R[...]' (ເບິ່ງພາກ 'ການຂະຫຍາຍການສໍາເລັດ' ຂ້າງລຸ່ມນີ້) ຂອບເຂດແມ່ນ
ຈຳກັດຂອບເຂດຂອງອາກິວເມັນທີ່ລະບຸໄວ້ໃນວົງເລັບ. ສຳເລັດແລ້ວ
ປະ ຕິ ບັດ ເປັນ ຖ້າ ຫາກ ວ່າ ການ ເຫຼົ່າ ນີ້ ໄດ້ ຮັບ ການ ໂຕ້ ຖຽງ ກັບ cmd ສະຫນອງກັບ
ທາງເລືອກ. ຖ້າ cmd string ແມ່ນຫວ່າງເປົ່າ ຄຳທຳອິດໃນຂອບເຂດຈະຖືກເອົາເປັນ
ຊື່ຄໍາສັ່ງ, ແລະການສໍາເລັດຊື່ຄໍາສັ່ງປະຕິບັດໃນຄໍາທໍາອິດໃນ
ຊ່ວງ. ຍົກຕົວຢ່າງ,
compctl -x 'r[-exec,;]' -l '' -- ຊອກຫາ
ສໍາເລັດການໂຕ້ຖຽງລະຫວ່າງ `-ປະຕິບັດ' ແລະຕໍ່ໄປນີ້ ';' (ຫຼືຕອນທ້າຍຂອງ
ເສັ້ນຄໍາສັ່ງຖ້າບໍ່ມີສາຍດັ່ງກ່າວ) ຄືກັບວ່າພວກເຂົາເປັນເສັ້ນຄໍາສັ່ງແຍກຕ່າງຫາກ.
-h cmd ໂດຍປົກກະຕິ zsh ເຮັດສຳເລັດສະຕຣິງທີ່ອ້າງອີງທັງໝົດ. ດ້ວຍທາງເລືອກນີ້, ການເຮັດສໍາເລັດສາມາດເຮັດໄດ້
ເຮັດແຍກຕ່າງຫາກກ່ຽວກັບພາກສ່ວນທີ່ແຕກຕ່າງກັນຂອງສາຍດັ່ງກ່າວ. ມັນເຮັດວຽກຄືກັບ -l ທາງເລືອກ
ແຕ່ເຮັດໃຫ້ລະຫັດສໍາເລັດເຮັດວຽກຢູ່ໃນສ່ວນຂອງຄໍາທີ່ໃຊ້ໃນປະຈຸບັນ
ແຍກອອກໂດຍຊ່ອງຫວ່າງ. ພາກສ່ວນເຫຼົ່ານີ້ແມ່ນໄດ້ສໍາເລັດເປັນຖ້າຫາກວ່າພວກເຂົາເຈົ້າໄດ້ໂຕ້ຖຽງກັບ
ໄດ້ຮັບ cmdທີ່ຢູ່ ຖ້າຫາກວ່າ cmd ແມ່ນສາຍທີ່ຫວ່າງເປົ່າ, ສ່ວນທໍາອິດແມ່ນສໍາເລັດເປັນຄໍາສັ່ງ
ຊື່, ເຊັ່ນດຽວກັບ -l.
-U ໃຊ້ບັນຊີລາຍຊື່ທັງຫມົດຂອງການສໍາເລັດທີ່ເປັນໄປໄດ້, ບໍ່ວ່າຈະເປັນຫຼືບໍ່ພວກເຂົາກົງກັບ
ຄໍາໃນບັນຊີຄໍາສັ່ງ. ຄໍາທີ່ພິມມາເຖິງຕອນນັ້ນຈະຖືກລຶບອອກ. ນີ້ແມ່ນຫຼາຍທີ່ສຸດ
ທີ່ເປັນປະໂຫຍດກັບຫນ້າທີ່ (ໃຫ້ໂດຍ -K option) ທີ່ສາມາດກວດສອບຄໍາ
ອົງປະກອບທີ່ຜ່ານໄປມັນ (ຫຼືຜ່ານ ອ່ານ ການກໍ່ສ້າງ -c ແລະ -l flags) ແລະໃຊ້ຂອງຕົນເອງ
ເງື່ອນໄຂເພື່ອຕັດສິນສິ່ງທີ່ກົງກັນ. ຖ້າບໍ່ມີການສໍາເລັດ, ຄໍາຕົ້ນສະບັບແມ່ນ
ເກັບຮັກສາໄວ້. ນັບຕັ້ງແຕ່ການຜະລິດສໍາເລັດຮູບທີ່ເປັນໄປໄດ້ບໍ່ຄ່ອຍມີທີ່ຫນ້າສົນໃຈທົ່ວໄປ
ຄໍານໍາຫນ້າແລະຄໍາຕໍ່ທ້າຍ, ການສໍາເລັດເມນູແມ່ນເລີ່ມຕົ້ນທັນທີຖ້າຫາກວ່າ AUTO_MENU ແມ່ນໄດ້ກໍານົດໄວ້
ແລະທຸງນີ້ຖືກໃຊ້.
-y func-or-var
ບັນຊີລາຍຊື່ສະຫນອງໃຫ້ໂດຍ func-or-var ຖືກສະແດງແທນບັນຊີລາຍຊື່ຂອງການສໍາເລັດ
ທຸກຄັ້ງທີ່ຕ້ອງການລາຍຊື່; ການສໍາເລັດຕົວຈິງທີ່ຈະໃສ່ບໍ່ແມ່ນ
ໄດ້ຮັບຜົນກະທົບ. ມັນສາມາດໄດ້ຮັບການສະຫນອງໃນສອງວິທີ. ກ່ອນອື່ນ ໝົດ, ຖ້າ func-or-var ເລີ່ມຕົ້ນດ້ວຍ $
ມັນກໍານົດຕົວແປ, ຫຼືຖ້າມັນເລີ່ມຕົ້ນດ້ວຍວົງເລັບຊ້າຍເປັນ array ຕົວຫນັງສື,
ເຊິ່ງປະກອບດ້ວຍບັນຊີລາຍຊື່. ຕົວແປອາດຈະຖືກຕັ້ງໂດຍການໂທຫາຟັງຊັນ
ການນໍາໃຊ້ -K ທາງເລືອກ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນປະກອບດ້ວຍຊື່ຂອງຟັງຊັນທີ່ຈະເປັນ
ດໍາເນີນການເພື່ອສ້າງບັນຊີລາຍຊື່. ຟັງຊັນຈະຖືກສົ່ງຜ່ານເປັນບັນຊີລາຍຊື່ການໂຕ້ຖຽງທັງຫມົດ
ການສໍາເລັດທີ່ກົງກັນ, ລວມທັງຄໍານໍາຫນ້າແລະຄໍາຕໍ່ທ້າຍຂະຫຍາຍເຕັມທີ່, ແລະຄວນ
ຕັ້ງອາເຣ Reply ກັບຜົນໄດ້ຮັບ. ໃນທັງສອງກໍລະນີ, ບັນຊີລາຍຊື່ການສະແດງຈະມີພຽງແຕ່
ດຶງມາຫຼັງຈາກບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງການແຂ່ງຂັນໄດ້ຖືກສ້າງຂື້ນ.
ໃຫ້ສັງເກດວ່າບັນຊີລາຍຊື່ທີ່ສົ່ງຄືນບໍ່ຈໍາເປັນຕ້ອງກົງກັນ, ເຖິງແມ່ນວ່າຢູ່ໃນຄວາມຍາວ, ກັບ
ຊຸດຕົ້ນສະບັບຂອງການແຂ່ງຂັນ, ແລະອາດຈະຖືກສົ່ງຜ່ານເປັນ scalar ແທນທີ່ຈະເປັນ array. ບໍ່
ການຈັດຮູບແບບພິເສດຂອງຕົວອັກສອນແມ່ນປະຕິບັດຢູ່ໃນຜົນໄດ້ຮັບໃນກໍລະນີນີ້; ໃນ
ໂດຍສະເພາະ, newlines ແມ່ນພິມອອກເປັນຕົວຫນັງສືແລະຖ້າຫາກວ່າພວກເຂົາເຈົ້າປະກົດວ່າຜົນຜະລິດໃນຖັນແມ່ນ
ສະກັດກັ້ນ.
-X ຄໍາອະທິບາຍ
ພິມ ຄໍາອະທິບາຍ ເມື່ອພະຍາຍາມສໍາເລັດໃນຊຸດຂອງທາງເລືອກໃນປະຈຸບັນ. A`%n'ໃນ
ສະຕຣິງນີ້ຖືກແທນທີ່ດ້ວຍຈໍານວນຄໍາທີ່ກົງກັນທີ່ຖືກເພີ່ມສໍາລັບການນີ້
ສາຍຄຳອະທິບາຍ. ຄໍາອະທິບາຍປາກົດພຽງແຕ່ຖ້າການສໍາເລັດໄດ້ຖືກພະຍາຍາມແລະຢູ່ທີ່ນັ້ນ
ບໍ່ມີການແຂ່ງຂັນທີ່ເປັນເອກະລັກ, ຫຼືໃນເວລາທີ່ລາຍການສໍາເລັດ. ສະຕຣິງຄໍາອະທິບາຍຈະເປັນ
ລາຍການຮ່ວມກັບການແຂ່ງຂັນຂອງກຸ່ມທີ່ລະບຸໄວ້ຮ່ວມກັບ -X ທາງເລືອກ
(ການນໍາໃຊ້ -J or -V ທາງເລືອກ). ຖ້າສະຕຣິງຄໍາອະທິບາຍດຽວກັນຖືກມອບໃຫ້ກັບຫຼາຍ -X
ທາງເລືອກ, ສະຕຣິງປະກົດພຽງແຕ່ຄັ້ງດຽວ (ສໍາລັບແຕ່ລະກຸ່ມ) ແລະຈໍານວນຂອງການແຂ່ງຂັນ
ສະແດງໃຫ້ເຫັນສໍາລັບ `%n' ແມ່ນຈໍານວນທັງຫມົດຂອງການແຂ່ງຂັນສໍາລັບແຕ່ລະການນໍາໃຊ້ເຫຼົ່ານີ້. ໃນ
ໃນກໍລະນີໃດກໍ່ຕາມ, ສະຕຣິງຄໍາອະທິບາຍຈະສະແດງພຽງແຕ່ຖ້າມີຢ່າງຫນ້ອຍຫນຶ່ງຄໍາທີ່ກົງກັນ
ເພີ່ມສໍາລັບສາຍຄໍາອະທິບາຍ.
ລໍາດັບ %B, %b, %S, %s, %U, ແລະ %u ລະບຸຄຸນລັກສະນະຜົນຜະລິດ (ກ້າຫານ, ໂດດເດັ່ນ,
ແລະ underline), %F, %f, %K, %k ລະບຸສີພື້ນໜ້າ ແລະພື້ນຫຼັງ, ແລະ
%{...%} ສາມາດຖືກນໍາໃຊ້ເພື່ອປະກອບມີລໍາດັບການຫລົບຫນີທີ່ຮູ້ຫນັງສືຄືກັບການກະຕຸ້ນເຕືອນ.
-Y ຄໍາອະທິບາຍ
ຕົວຕົນຕໍ່ -X, ເວັ້ນເສຍແຕ່ວ່າ ຄໍາອະທິບາຍ ທໍາອິດ undergoes ການຂະຫຍາຍດັ່ງຕໍ່ໄປນີ້
ກົດລະບຽບປົກກະຕິຂອງສະຕຣິງໃນວົງຢືມຄູ່. ການຂະຫຍາຍຕົວຈະດໍາເນີນການ
ຫຼັງຈາກການທໍາງານໃດຫນຶ່ງໄດ້ຖືກເອີ້ນວ່າສໍາລັບການ -K or -y ທາງເລືອກ, ປ່ອຍໃຫ້ເຂົາເຈົ້າກໍານົດ
ຕົວແປ
-t ດໍາເນີນການຕໍ່
ໄດ້ ດໍາເນີນການຕໍ່-string ປະກອບດ້ວຍຕົວອັກສອນທີ່ລະບຸວ່າຊຸດຂອງການສໍາເລັດ
ທຸງຄວນຖືກໃຊ້ຕໍ່ໄປ. ມັນເປັນປະໂຫຍດ:
(i) ກັບ -T, ຫຼືໃນເວລາທີ່ພະຍາຍາມບັນຊີລາຍຊື່ຂອງການສໍາເລັດຮູບແບບ, ໃນເວລາທີ່ compctl ຈະ
ປົກກະຕິແລ້ວສືບຕໍ່ກັບການປຸງແຕ່ງແບບທໍາມະດາຫຼັງຈາກຊອກຫາຄໍາທີ່ກົງກັນ; ນີ້ສາມາດເປັນ
ສະກັດກັ້ນດ້ວຍ `-tn'.
(ii) ກັບບັນຊີລາຍຊື່ຂອງທາງເລືອກທີ່ແຍກອອກໂດຍ +, ເມື່ອໃດ compctl ປົກກະຕິຈະຢຸດ
ເມື່ອຫນຶ່ງໃນທາງເລືອກທີ່ສ້າງກົງກັນ. ມັນສາມາດຖືກບັງຄັບໃຫ້ພິຈາລະນາ
ຊຸດຕໍ່ໄປຂອງການສໍາເລັດໂດຍການເພີ່ມ `-t+' ກັບທຸງຂອງທາງເລືອກກ່ອນທີ່ຈະ
`+'.
(iii) ໃນບັນຊີລາຍຊື່ສໍາເລັດການຂະຫຍາຍ (ເບິ່ງຂ້າງລຸ່ມນີ້), ເມື່ອ compctl ຕາມປົກກະຕິ
ສືບຕໍ່ຈົນກ່ວາທີ່ກໍານົດໄວ້ຂອງເງື່ອນໄຂສໍາເລັດ, ຫຼັງຈາກນັ້ນນໍາໃຊ້ພຽງແຕ່ທັນທີ
ຕິດຕາມທຸງຊາດ. ກັບ`-t-', compctl ຈະສືບຕໍ່ພະຍາຍາມຂະຫຍາຍການສໍາເລັດ
ຫຼັງຈາກຕໍ່ໄປ `-' ; ກັບ `-tx' ມັນຈະພະຍາຍາມສໍາເລັດດ້ວຍທຸງເລີ່ມຕົ້ນ,
ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ທີ່ຢູ່ກ່ອນ '-x'.
-J ຊື່
ນີ້ເຮັດໃຫ້ຊື່ຂອງກຸ່ມທີ່ກົງກັນຄວນຈະຖືກຈັດໃສ່ໃນ
ແລະຈັດຮຽງແຍກຕ່າງຫາກ; ເຊັ່ນດຽວກັນ, ການສໍາເລັດເມນູຈະສະເຫນີໃຫ້ກົງກັນໃນ
ກຸ່ມຕາມລໍາດັບທີ່ກຸ່ມໄດ້ຖືກກໍານົດ. ຖ້າບໍ່ມີຊື່ກຸ່ມ
ໃຫ້ຢ່າງຈະແຈ້ງ, ການແຂ່ງຂັນຖືກເກັບໄວ້ໃນກຸ່ມທີ່ມີຊື່ Default. ຄັ້ງທຳອິດ ກ
ພົບກັບຊື່ກຸ່ມ, ກຸ່ມທີ່ມີຊື່ນັ້ນຖືກສ້າງຂື້ນ. ຫຼັງຈາກນັ້ນທັງຫມົດ
ກົງກັບຊື່ກຸ່ມດຽວກັນຖືກເກັບໄວ້ໃນກຸ່ມນັ້ນ.
ນີ້ສາມາດເປັນປະໂຫຍດກັບການສໍາເລັດທາງເລືອກທີ່ບໍ່ແມ່ນສະເພາະ. ຕົວຢ່າງ, ໃນ
compctl -f -J ໄຟ -t+ + -v -J ຕົວແປ ຟູ
ທັງໄຟລ໌ແລະຕົວແປແມ່ນສໍາເລັດທີ່ເປັນໄປໄດ້, ເປັນ -t+ ບັງຄັບໃຫ້ທັງສອງຊຸດຂອງ
ທາງເລືອກກ່ອນແລະຫຼັງຈາກ + ພິຈາລະນາໃນເວລາດຽວກັນ. ເນື່ອງຈາກວ່າ -J
ຕົວເລືອກຕ່າງໆ, ແນວໃດກໍ່ຕາມ, ໄຟລ໌ທັງໝົດຖືກລະບຸໄວ້ກ່ອນຕົວແປທັງໝົດ.
-V ຊື່
ຄື -J, ແຕ່ການຈັບຄູ່ພາຍໃນກຸ່ມຈະບໍ່ຖືກຈັດຮຽງຢູ່ໃນລາຍການ ຫຼືຢູ່ໃນເມນູ
ສໍາເລັດ. ກຸ່ມທີ່ບໍ່ໄດ້ຈັດຮຽງເຫຼົ່ານີ້ຢູ່ໃນຊ່ອງຊື່ທີ່ແຕກຕ່າງຈາກການຈັດຮຽງ
ບໍ່, ດັ່ງນັ້ນກຸ່ມກໍານົດເປັນ -J ໄຟ ແລະ -V ໄຟ ມີຄວາມແຕກຕ່າງກັນ.
-1 ຖ້າຫາກວ່າໃຫ້ຮ່ວມກັບ -V ທາງເລືອກ, ເຮັດໃຫ້ພຽງແຕ່ຊ້ໍາກັນຕິດຕໍ່ກັນໃນ
ກຸ່ມຖືກລົບອອກ. ໃຫ້ສັງເກດວ່າກຸ່ມທີ່ມີແລະບໍ່ມີທຸງນີ້ແມ່ນຢູ່ໃນຊື່ທີ່ແຕກຕ່າງກັນ
ສະຖານທີ່.
-2 ຖ້າຫາກວ່າໃຫ້ຮ່ວມກັບ -J or -V ທາງເລືອກ, ເຮັດໃຫ້ການຊ້ໍາກັນທັງຫມົດຖືກເກັບຮັກສາໄວ້. ອີກເທື່ອຫນຶ່ງ,
ກຸ່ມທີ່ມີ ແລະບໍ່ມີທຸງນີ້ຢູ່ໃນຊ່ອງຊື່ທີ່ແຕກຕ່າງກັນ.
-M ການຈັບຄູ່ spec
ນີ້ກໍານົດຂໍ້ກໍານົດການຄວບຄຸມການຈັບຄູ່ເພີ່ມເຕີມທີ່ຄວນຈະຖືກນໍາໃຊ້ເທົ່ານັ້ນ
ໃນເວລາທີ່ການທົດສອບຄໍາສັບຕ່າງໆສໍາລັບບັນຊີລາຍການຂອງທຸງຊາດນີ້ຈະປາກົດຢູ່ໃນຮູບແບບຂອງ
ການຈັບຄູ່ spec string ຖືກອະທິບາຍໄວ້ໃນ zshcompwid.
ALTERNATIVE ສໍາເລັດ
compctl [ -CDT ] ທາງເລືອກໃນການ + ທາງເລືອກໃນການ [ + ... ] [ + ] ຄໍາສັ່ງ ...
ຮູບແບບທີ່ມີ `+' ກໍານົດທາງເລືອກທາງເລືອກ. ການສໍາເລັດແມ່ນພະຍາຍາມດ້ວຍທາງເລືອກ
ກ່ອນທີ່ຈະທໍາອິດ+'. ຖ້າອັນນີ້ບໍ່ກົງກັນ ສໍາເລັດແມ່ນພະຍາຍາມກັບທຸງຫຼັງຈາກ
ໄດ້ `+' ແລະອື່ນໆ. ຖ້າບໍ່ມີທຸງຫຼັງຈາກສຸດທ້າຍ `+' ແລະບໍ່ໄດ້ພົບເຫັນການແຂ່ງຂັນ
ເຖິງຈຸດນັ້ນ, ການສໍາເລັດໃນຕອນຕົ້ນແມ່ນພະຍາຍາມ. ຖ້າບັນຊີລາຍຊື່ຂອງທຸງປະກອບດ້ວຍ a -t ມີ
+ ລັກສະນະ, ບັນຊີລາຍຊື່ຕໍ່ໄປຂອງທຸງແມ່ນຖືກນໍາໃຊ້ເຖິງແມ່ນວ່າບັນຊີລາຍຊື່ປະຈຸບັນທີ່ຜະລິດກົງກັນ.
ມີທາງເລືອກເພີ່ມເຕີມທີ່ຈໍາກັດການສໍາເລັດບາງສ່ວນຂອງຄໍາສັ່ງ
ເສັ້ນ; ອັນນີ້ເອີ້ນວ່າ 'ການສໍາເລັດການຂະຫຍາຍ'.
ອະທິບາຍ ສໍາເລັດ
compctl [ -CDT ] ທາງເລືອກໃນການ -x ຮູບແບບ ທາງເລືອກໃນການ - ... --
[ ຄໍາສັ່ງ ... ]
compctl [ -CDT ] ທາງເລືອກໃນການ [ -x ຮູບແບບ ທາງເລືອກໃນການ - ... -- ]
[ + ທາງເລືອກໃນການ [ -x ... -- ] ... [+] ] [ ຄໍາສັ່ງ ... ]
ຮູບແບບທີ່ມີ `-x' ກໍານົດການຂະຫຍາຍການສໍາເລັດສໍາລັບຄໍາສັ່ງທີ່ໄດ້ຮັບ; ດັ່ງທີ່ສະແດງໃຫ້ເຫັນ, ມັນອາດຈະ
ສົມທົບກັບການສໍາເລັດທາງເລືອກໂດຍໃຊ້ `+'. ແຕ່ລະ ຮູບແບບ ຖືກກວດຄືນ; ເມື່ອໃດ
ການແຂ່ງຂັນແມ່ນພົບເຫັນ, ທີ່ສອດຄ້ອງກັນ ທາງເລືອກໃນການ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນພາກ 'ທຸງທາງເລືອກ'
ຂ້າງເທິງ, ຖືກນໍາໃຊ້ເພື່ອສ້າງສໍາເລັດທີ່ເປັນໄປໄດ້. ຖ້າບໍ່ມີ ຮູບແບບ ການແຂ່ງຂັນ, ໄດ້ ທາງເລືອກໃນການ
ມອບໃຫ້ກ່ອນ -x ຖືກນໍາໃຊ້.
ໃຫ້ສັງເກດວ່າແຕ່ລະຮູບແບບຄວນໄດ້ຮັບການສະຫນອງເປັນການໂຕ້ຖຽງດຽວແລະຄວນຈະຖືກອ້າງເຖິງ
ປ້ອງກັນການຂະຫຍາຍຕົວຂອງ metacharacters ໂດຍແກະ.
A ຮູບແບບ ຖືກສ້າງດ້ວຍຮູບແບບຍ່ອຍທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ; ມັນກົງກັນຖ້າຫາກວ່າຢ່າງຫນ້ອຍຫນຶ່ງຂອງ
ຮູບແບບຍ່ອຍເຫຼົ່ານີ້ກົງກັນ (ພວກມັນແມ່ນ `ຫຼື'ed). ຮູບແບບຍ່ອຍເຫຼົ່ານີ້ແມ່ນຢູ່ໃນແລະເຮັດໃຫ້ການປະກອບຂອງ
ຮູບແບບຍ່ອຍອື່ນໆທີ່ແຍກອອກດ້ວຍຊ່ອງຫວ່າງສີຂາວທີ່ກົງກັນຖ້າຫາກວ່າທັງຫມົດຂອງຮູບແບບຍ່ອຍກົງກັນ
(ພວກເຂົາແມ່ນ 'ແລະ'ed). ອົງປະກອບຂອງຮູບແບບຍ່ອຍແມ່ນຮູບແບບ `c[...][...]', ທີ່
ຄູ່ຂອງວົງເລັບອາດຈະຖືກຊ້ໍາເລື້ອຍໆເທົ່າທີ່ຈໍາເປັນ, ແລະກົງກັນຖ້າມີ
ຊຸດຂອງວົງເລັບກົງກັນ (ເປັນ `ຫຼື'). ຕົວຢ່າງຂ້າງລຸ່ມນີ້ເຮັດໃຫ້ຄວາມຊັດເຈນກວ່ານີ້.
ອົງປະກອບອາດຈະເປັນອັນໃດອັນໜຶ່ງຕໍ່ໄປນີ້:
s[string]...
ກົງກັນຖ້າຄຳສັບປະຈຸບັນໃນແຖວຄຳສັ່ງເລີ່ມຕົ້ນດ້ວຍໜຶ່ງໃນສະຕຣິງ
ໃຫ້ຢູ່ໃນວົງເລັບ. ໄດ້ string ບໍ່ໄດ້ຖືກໂຍກຍ້າຍອອກແລະບໍ່ແມ່ນສ່ວນຫນຶ່ງຂອງການສໍາເລັດ.
S[string]...
ຄື s[string] ຍົກເວັ້ນວ່າ string ເປັນສ່ວນຫນຶ່ງຂອງການສໍາເລັດ.
p[ຈາກ,to]...
ກົງກັນຖ້າຫາກວ່າຈໍານວນຂອງຄໍາປະຈຸບັນຢູ່ລະຫວ່າງຫນຶ່ງຂອງ ຈາກ ແລະ to ຄູ່
ລວມ. ເຄື່ອງໝາຍຈຸດ ແລະ to ເປັນທາງເລືອກ; to ຄ່າເລີ່ມຕົ້ນເປັນຄ່າດຽວກັນກັບ ຈາກ.
ຕົວເລກອາດຈະເປັນລົບ: -n ຫມາຍເຖິງ n'th ຄໍາສຸດທ້າຍໃນແຖວ.
c[ຊົດເຊີຍ,string]...
ກົງກັນຖ້າຫາກວ່າ string ກົງກັບຄໍາທີ່ຊົດເຊີຍໂດຍ ຊົດເຊີຍ ຈາກຄໍາປະຈຸບັນ
ຕໍາແຫນ່ງ. ປົກກະຕິແລ້ວ ຊົດເຊີຍ ຈະເປັນທາງລົບ.
C[ຊົດເຊີຍ,ຮູບແບບ]...
ຄື c ແຕ່ໃຊ້ການຈັບຄູ່ຮູບແບບແທນ.
w[ດັດຊະນີ,string]...
ກົງກັນຖ້າຄໍາທີ່ຢູ່ໃນຕໍາແຫນ່ງ ດັດຊະນີ ແມ່ນເທົ່າກັບທີ່ສອດຄ້ອງກັນ string. ຫມາຍເຫດ
ວ່າການນັບຄໍາແມ່ນເຮັດຫຼັງຈາກການຂະຫຍາຍນາມແຝງໃດໆ.
W[ດັດຊະນີ,ຮູບແບບ]...
ຄື w ແຕ່ໃຊ້ການຈັບຄູ່ຮູບແບບແທນ.
n[ດັດຊະນີ,string]...
ກົງກັນຖ້າຫາກວ່າຄໍາປະຈຸບັນປະກອບດ້ວຍ string. ທຸກຢ່າງຂຶ້ນກັບແລະລວມທັງ
ດັດຊະນີth ການປະກົດຕົວຂອງສາຍນີ້ຈະບໍ່ຖືກພິຈາລະນາເປັນສ່ວນຫນຶ່ງຂອງການສໍາເລັດ,
ແຕ່ສ່ວນທີ່ເຫຼືອຈະ. ດັດຊະນີ ອາດຈະເປັນທາງລົບທີ່ຈະນັບຈາກທີ່ສຸດ: ໃນກໍລະນີຫຼາຍທີ່ສຸດ,
ດັດຊະນີ ຈະເປັນ 1 ຫຼື -1. ຍົກຕົວຢ່າງ,
compctl -s ''ຜູ້ໃຊ້'' -x 'n[1,@]' -k ການເປັນເຈົ້າພາບ -- ສົນທະນາ
ໂດຍປົກກະຕິຈະໃຫ້ຊື່ຜູ້ໃຊ້ຄົບຖ້ວນ, ແຕ່ຖ້າທ່ານໃສ່ @ ຫຼັງຈາກຊື່, ຊື່ຈາກ
array ໄດ້ ການເປັນເຈົ້າພາບ (ສົມມຸດວ່າມີ hostnames, ເຖິງແມ່ນວ່າທ່ານຕ້ອງເຮັດ array
ຕົວທ່ານເອງ) ຈະສໍາເລັດ. ຄໍາສັ່ງອື່ນໆເຊັ່ນ: rcp ສາມາດຈັດການໄດ້ຄືກັນ.
N[ດັດຊະນີ,string]...
ຄື n ຍົກເວັ້ນວ່າສະຕຣິງຈະຖືກເອົາເປັນປະເພດຕົວອັກສອນ. ທຸກຢ່າງຂຶ້ນກັບ
ແລະລວມທັງ ດັດຊະນີth ການປະກົດຕົວຂອງລັກສະນະໃດນຶ່ງໃນ string ຈະບໍ່ເປັນ
ຖືວ່າເປັນສ່ວນໜຶ່ງຂອງການສຳເລັດ.
m[ນາທີ,ສູງສຸດທີ່ເຄຍ]...
ກົງກັນຖ້າຫາກວ່າຈໍານວນຄໍາສັບທັງຫມົດແມ່ນຢູ່ໃນລະຫວ່າງ ນາທີ ແລະ ສູງສຸດທີ່ເຄຍ ລວມ
r[p1,p2]...
ກົງກັນຖ້າຫາກວ່າຕົວກະພິບແມ່ນຫຼັງຈາກຄໍາທີ່ມີຄໍານໍາຫນ້າ p1. ຖ້າຫາກວ່າຍັງມີຄໍາສັບຕ່າງໆ
ກັບຄໍານໍາຫນ້າ p2 ໃນບັນທັດຄໍາສັ່ງຫຼັງຈາກຫນຶ່ງຈັບຄູ່ໂດຍ p1 ມັນກົງກັນເທົ່ານັ້ນ
ຖ້າຕົວກະພິບຢູ່ກ່ອນຄໍານີ້. ຖ້າເຄື່ອງໝາຍຈຸດ ແລະ p2 ຖືກລະເວັ້ນ, ມັນກົງກັບຖ້າ
ຕົວກະພິບແມ່ນຫຼັງຈາກຄໍາທີ່ມີຄໍານໍາຫນ້າ p1.
R[p1,p2]...
ຄື r ແຕ່ໃຊ້ການຈັບຄູ່ຮູບແບບແທນ.
q[str]...
ກົງກັບຄໍາທີ່ກໍາລັງເຮັດສໍາເລັດໃນປັດຈຸບັນແມ່ນຢູ່ໃນວົງຢືມດຽວແລະ str ເລີ່ມຕົ້ນ
ດ້ວຍຕົວອັກສອນ `s', ຫຼືຖ້າສໍາເລັດແມ່ນເຮັດໃນວົງຢືມສອງເທົ່າແລະ str ເລີ່ມຕົ້ນດ້ວຍ
ຕົວອັກສອນ `d', ຫຼືຖ້າຫາກວ່າສໍາເລັດແມ່ນເຮັດໃນ backticks ແລະ str ເລີ່ມຕົ້ນດ້ວຍ 'b'.
EXAMPLE
compctl -u -x 's[+] c[-1,-f],s[-f+]' \
-g '~/Mail/*(:t)' - 's[-f],c[-1,-f]' -f -- ອີເມວ
ນີ້ແມ່ນຈະໄດ້ຮັບການຕີລາຄາດັ່ງຕໍ່ໄປນີ້:
ຖ້າຄໍາສັ່ງປະຈຸບັນແມ່ນ ອີເມວ, ຫຼັງຈາກນັ້ນ
if ((ຄຳປະຈຸບັນເລີ່ມຕົ້ນດ້ວຍ + ແລະຄໍາທີ່ຜ່ານມາແມ່ນ -f)
ຫຼື (ຄໍາປະຈຸບັນເລີ່ມຕົ້ນດ້ວຍ -f+)), ຫຼັງຈາກນັ້ນໃຫ້ສໍາເລັດ
ສ່ວນທີ່ບໍ່ແມ່ນບັນຊີ (the `:t' glob modifier) ຂອງໄຟລ໌ໃນໄດເລກະທໍລີ
~/ຈົດໝາຍ; ອື່ນ
ຖ້າຄໍາປະຈຸບັນເລີ່ມຕົ້ນດ້ວຍ -f ຫຼືຄໍາທີ່ຜ່ານມາແມ່ນ -f, ຫຼັງຈາກນັ້ນ
ສໍາເລັດໄຟລ໌ໃດ; ອື່ນ
ຊື່ຜູ້ໃຊ້ທີ່ສົມບູນ.
ໃຊ້ zshcompctl ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net