ວິທີການເປີດໃຊ້ ໂໝດ Debugging Shell ໃນ Linux


ສະຄິບແມ່ນພຽງແຕ່ລາຍຊື່ ຄຳ ສັ່ງທີ່ເກັບໄວ້ໃນແຟ້ມ. ແທນທີ່ຈະ ດຳ ເນີນການຕາມ ລຳ ດັບ ຄຳ ສັ່ງໂດຍການພິມ ຄຳ ສັ່ງເຫລົ່ານັ້ນທຸກໆຄັ້ງໃນສະ ໜາມ, ຜູ້ໃຊ້ລະບົບສາມາດເກັບຮັກສາມັນທັງ ໝົດ (ຄຳ ສັ່ງ) ໄວ້ໃນແຟ້ມແລະຮຽກຮ້ອງເອກະສານຊ້ ຳ ອີກຄັ້ງເພື່ອປະຕິບັດ ຄຳ ສັ່ງອີກຄັ້ງ.

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

ເຖິງຢ່າງໃດກໍ່ຕາມ, ເມື່ອພວກເຮົາເລີ່ມຕົ້ນຂຽນສະຄິບທີ່ຍາວນານແລະກ້າວ ໜ້າ ດ້ວຍຫລາຍພັນແຖວຂອງ ຄຳ ສັ່ງ, ເຊັ່ນວ່າສະຄິບທີ່ປັບປ່ຽນການຕັ້ງຄ່າລະບົບ, ເຮັດການ ສຳ ຮອງຂໍ້ມູນທີ່ ສຳ ຄັນຜ່ານເຄືອຂ່າຍແລະອີກຫລາຍໆຢ່າງ, ພວກເຮົາຈະຮູ້ວ່າພຽງແຕ່ເບິ່ງຜົນຜະລິດຂອງສະຄິບບໍ່ແມ່ນ ພຽງພໍທີ່ຈະຊອກຫາຂໍ້ບົກພ່ອງພາຍໃນສະຄິບ.

ສະນັ້ນ, ໃນ debugging script shell ນີ້ໃນຊຸດ Linux, ພວກເຮົາຈະຍ່າງຜ່ານວິທີທີ່ຈະເຮັດໃຫ້ shell shell debugging ສາມາດໃຊ້ໄດ້, ຍ້າຍໄປອະທິບາຍຮູບແບບການ ກຳ ຈັດແກະສະຫຼັກແກະສະຫຼັກທີ່ແຕກຕ່າງກັນແລະວິທີການ ນຳ ໃຊ້ໃນຊຸດຕໍ່ໆໄປ.

ວິທີການເລີ່ມຕົ້ນສະຄິບ

ສະຄິບແມ່ນແຍກອອກຈາກແຟ້ມອື່ນຕາມແຖວ ທຳ ອິດ, ເຊິ່ງປະກອບດ້ວຍລະຫັດ <#>! ແມ່ນຊຸດຂອງ ຄຳ ສັ່ງທີ່ຈະຖືກຕີຄວາມ ໝາຍ ໂດຍໂປແກມທີ່ ກຳ ນົດໄວ້ (ນາຍແປພາສາ).

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງຂອງ "ສາຍ ທຳ ອິດ" ໃນປະເພດອັກສອນທີ່ແຕກຕ່າງກັນ:

#!/bin/sh          [For sh scripting]
#!/bin/bash        [For bash scripting] 
#!/usr/bin/perl    [For perl programming]
#!/bin/awk -f      [For awk scripting]   

ໝາຍ ເຫດ: ແຖວ ທຳ ອິດຫລື #! ສາມາດປະຖິ້ມໄວ້ໄດ້ຖ້າສະຄິບມີພຽງແຕ່ ຄຳ ສັ່ງຂອງລະບົບມາດຕະຖານເທົ່ານັ້ນ, ໂດຍບໍ່ມີ ຄຳ ແນະ ນຳ ກ່ຽວກັບແກະພາຍໃນ.

ວິທີການປະຕິບັດ Shell Shell ໃນ Linux

syntax ທຳ ມະດາ ສຳ ລັບການຂຽນ ໜັງ ສືແກະແມ່ນ:

$ script_name  argument1 ... argumentN

ແບບຟອມທີ່ເປັນໄປໄດ້ອີກຢ່າງ ໜຶ່ງ ແມ່ນການ ກຳ ນົດຫອຍທີ່ຈະປະຕິບັດຕົວ ໜັງ ສືດັ່ງລຸ່ມນີ້:

$ shell script_name argument1 ... argumentN  

ຍົກຕົວຢ່າງ:

$ /bin/bash script_name argument1 ... argumentN     [For bash scripting]
$ /bin/ksh script_name argument1 ... argumentN      [For ksh scripting]
$ /bin/sh script_name argument1 ... argumentN       [For sh scripting]

ສຳ ລັບສະຄິບທີ່ບໍ່ມີ #! ເປັນແຖວ ທຳ ອິດແລະພຽງແຕ່ມີ ຄຳ ສັ່ງຂອງລະບົບພື້ນຖານເຊັ່ນ: ລະຫັດຂ້າງລຸ່ມນີ້:

#script containing standard system commands
cd /home/$USER
mkdir tmp
echo "tmp directory created under /home/$USER"

ພຽງແຕ່ເຮັດໃຫ້ມັນສາມາດປະຕິບັດໄດ້ແລະດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:

$ chmod +x  script_name
$ ./script_name 

ວິທີການໃນການເປີດໃຊ້ ໂໝດ Debugging Shell Script

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວເລືອກ debugging script ຫລັກ:

<

  • -v (ສັ້ນ ສຳ ລັບ verbose) - ບອກຫອຍເພື່ອສະແດງທຸກສາຍໃນສະຄິບໃນຂະນະທີ່ພວກເຂົາອ່ານ, ມັນກະຕຸ້ນ ໂໝດ verbose.
  • -n (ສັ້ນ ສຳ ລັບ noexec ຫຼືບໍ່ມີການເຮັດໃຫ້ມີຄວາມກະຕືລືລົ້ນ) - ແນະ ນຳ ໃຫ້ຫອຍອ່ານ ຄຳ ສັ່ງທັງ ໝົດ, ເຖິງຢ່າງໃດກໍ່ຕາມມັນຈະບໍ່ປະຕິບັດໃຫ້ເຂົາເຈົ້າ. ຕົວເລືອກນີ້ເປີດໃຊ້ຮູບແບບການກວດສອບ syntax.
  • -x (ສັ້ນ ສຳ ລັບການ ສຳ ຫຼວດເສັ້ນທາງຍ່າງຫຼືການປະຕິບັດ) - ບອກຫອຍເພື່ອສະແດງ ຄຳ ສັ່ງທັງ ໝົດ ແລະຂໍ້ໂຕ້ແຍ້ງຂອງພວກມັນຢູ່ເທິງປາຍທາງໃນຂະນະທີ່ພວກມັນຖືກປະຕິບັດ. ຕົວເລືອກນີ້ເຮັດໃຫ້ຮູບແບບການຕິດຕາມຫອຍ.
  • ກົນໄກ ທຳ ອິດແມ່ນໂດຍການປ່ຽນແປງແຖວ ທຳ ອິດຂອງສະຄິບຫອຍຄືກັບຂ້າງລຸ່ມນີ້, ມັນຈະຊ່ວຍໃຫ້ການຖອດຖອນບົດຂຽນທັງ ໝົດ.

    #!/bin/sh option(s)
    

    ໃນຮູບແບບຂ້າງເທິງນີ້, ຕົວເລືອກສາມາດເປັນ ໜຶ່ງ ຫຼືການປະສົມປະສານຂອງທາງເລືອກ debugging ຂ້າງເທິງ.

    ວິທີທີສອງແມ່ນການຮຽກຮ້ອງຫອຍທີ່ມີຕົວເລືອກ debugging ດັ່ງຕໍ່ໄປນີ້, ວິທີການນີ້ຍັງຈະເຮັດໃຫ້ສາມາດແກ້ໄຂສະຄຣິບທັງ ໝົດ.

    $ shell option(s) script_name argument1 ... argumentN
    

    ຍົກຕົວຢ່າງ:

    $ /bin/bash option(s) script_name argument1 ... argumentN   
    

    ວິທີການທີສາມແມ່ນໂດຍການໃຊ້ ຄຳ ສັ່ງທີ່ ກຳ ນົດໄວ້ໃນການແກ້ໄຂສ່ວນໃດ ໜຶ່ງ ຂອງສະຄິບແກະເຊັ່ນ ໜ້າ ທີ່. ກົນໄກນີ້ແມ່ນມີຄວາມ ສຳ ຄັນ, ຍ້ອນວ່າມັນອະນຸຍາດໃຫ້ພວກເຮົາສາມາດ ທຳ ການແກ້ໄຂບັນຫາໃນສ່ວນໃດສ່ວນ ໜຶ່ງ ຂອງ ໜັງ ສືແກະ.

    ພວກເຮົາສາມາດເປີດໃຊ້ຮູບແບບ debugging ໂດຍໃຊ້ ຄຳ ສັ່ງທີ່ ກຳ ນົດໄວ້ໃນຮູບແບບຂ້າງລຸ່ມນີ້, ບ່ອນທີ່ຕົວເລືອກແມ່ນຕົວເລືອກ debugging ໃດ ໜຶ່ງ.

    $ set option 
    

    ເພື່ອເປີດໃຊ້ ໂໝດ debugging, ໃຊ້:

    $ set -option
    

    ເພື່ອປິດໃຊ້ ໂໝດ debugging, ໃຊ້:

    $ set +option
    

    ນອກຈາກນັ້ນ, ຖ້າພວກເຮົາໄດ້ເປີດໃຊ້ຮູບແບບ debugging ຫຼາຍໆຮູບແບບໃນສ່ວນທີ່ແຕກຕ່າງກັນຂອງ script shell, ພວກເຮົາສາມາດປິດໃຊ້ງານທັງ ໝົດ ໃນເວລາດຽວກັນດັ່ງນີ້:

    $ set -
    

    ນັ້ນແມ່ນມັນ ສຳ ລັບດຽວນີ້ກັບໂຫມດ debugging shell ທີ່ເປີດໃຊ້ໄດ້. ດັ່ງທີ່ພວກເຮົາໄດ້ເຫັນ, ພວກເຮົາສາມາດ ກຳ ຈັດສະຄິບຫອຍທັງ ໝົດ ຫລືພາກສ່ວນໃດ ໜຶ່ງ ຂອງບົດຂຽນ.

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

    ສິ່ງທີ່ ສຳ ຄັນ, ຢ່າລືມຖາມ ຄຳ ຖາມກ່ຽວກັບຄູ່ມືນີ້ຫຼືບາງທີອາດຈະໃຫ້ ຄຳ ຕິຊົມກັບພວກເຮົາຜ່ານພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ຈົນກ່ວານັ້ນ, ຕິດຕໍ່ກັບ Tecmint.