10 ຄຳ ແນະ ນຳ ທີ່ເປັນປະໂຫຍດ ສຳ ລັບການຂຽນອັກສອນ Bash Bash ທີ່ມີປະສິດຕິຜົນໃນ Linux


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

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

1. ໃຊ້ ຄຳ ເຫັນໃນ Scripts ສະ ເໝີ

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

ສຳ ລັບຜູ້ເລີ່ມຕົ້ນ, ຄຳ ເຫັນຈະຖືກ ກຳ ນົດໂດຍໃຊ້ເຄື່ອງ ໝາຍ # .

#TecMint is the best site for all kind of Linux articles

2. ອອກ ໜັງ ສື Script ເມື່ອອອກໄປ

ບາງຄັ້ງ bash ອາດຈະສືບຕໍ່ປະຕິບັດ script ເຖິງແມ່ນວ່າໃນເວລາທີ່ ຄຳ ສັ່ງສະເພາະໃດ ໜຶ່ງ ລົ້ມເຫລວ, ດັ່ງນັ້ນມັນຈຶ່ງສົ່ງຜົນກະທົບຕໍ່ກັບບົດທີ່ເຫຼືອ (ໃນທີ່ສຸດກໍ່ຈະເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດຢ່າງມີເຫດຜົນ) ໃຊ້ເສັ້ນທາງລຸ່ມເພື່ອອອກຈາກສະຄິບເມື່ອ ຄຳ ສັ່ງລົ້ມເຫລວ:

#let script exit if a command fails
set -o errexit 
OR
set -e

3. ເຮັດໃຫ້ ໜັງ ສືອອກຈາກ Script ເມື່ອ Bash ໃຊ້ຕົວແປທີ່ບໍ່ໄດ້ລະບຸ

Bash ຍັງອາດຈະພະຍາຍາມໃຊ້ສະຄິບທີ່ບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນເຊິ່ງອາດຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດຢ່າງມີເຫດຜົນ. ສະນັ້ນໃຊ້ເສັ້ນຕໍ່ໄປນີ້ເພື່ອແນະ ນຳ bash ເພື່ອອອກຈາກສະຄິບເມື່ອມັນພະຍາຍາມໃຊ້ຕົວແປທີ່ບໍ່ໄດ້ລະບຸ:

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4. ໃຊ້ ຄຳ ເວົ້າຄູ່ກັບຕົວແປ

ການໃຊ້ ຄຳ ເວົ້າຄູ່ໃນຂະນະທີ່ການອ້າງອິງ (ໃຊ້ຄ່າຂອງຕົວແປ) ຊ່ວຍປ້ອງກັນການແຍກ ຄຳ ສັບຕ່າງໆ (ກ່ຽວກັບຄວາມຂາວ) ແລະການກາວທີ່ບໍ່ ຈຳ ເປັນ.

ກວດເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້:

#!/bin/bash
#let script exit if a command fails
set -o errexit 

#let script exit if an unsed variable is used
set -o nounset

echo "Names without double quotes" 
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
        echo "$name"
done
echo

echo "Names with double quotes" 
echo
for name in "$names"; do
        echo "$name"
done

exit 0

ບັນທຶກເອກະສານແລະອອກຈາກການ, ຫຼັງຈາກນັ້ນດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:

$ ./names.sh

5. ນຳ ໃຊ້ ໜ້າ ທີ່ໃນ Scripts

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

syntax ສຳ ລັບຟັງຊັນການຂຽນແມ່ນມີດັ່ງນີ້:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

ສຳ ລັບລະຫັດເສັ້ນດຽວ, ໃຊ້ຕົວອັກສອນຢຸດຫຼັງຈາກແຕ່ລະ ຄຳ ສັ່ງເຊັ່ນນີ້:

check_root(){ command1; command2; }

6. ໃຊ້ = ແທນທີ່ຈະເປັນ == ສຳ ລັບການປຽບທຽບສະຕິງ

ໃຫ້ສັງເກດວ່າ == ແມ່ນ ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ = , ສະນັ້ນໃຊ້ພຽງແຕ່ລະຫັດ = ສຳ ລັບການປຽບທຽບສະຕິງ, ຕົວຢ່າງ:

value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7. ໃຊ້ $(ຄຳ ສັ່ງ) ແທນ ຄຳ ສັ່ງເກົ່າ 'ສຳ ລັບການປ່ຽນແທນ

ການທົດແທນ ຄຳ ສັ່ງແທນ ຄຳ ສັ່ງກັບຜົນຜະລິດຂອງມັນ. ໃຊ້ & # 36 (ຄຳ ສັ່ງ) ແທນທີ່ຈະໃຊ້ backquotes \"ຄຳ ສັ່ງ \" ເພື່ອທົດແທນ ຄຳ ສັ່ງ.

ສິ່ງນີ້ໄດ້ຖືກແນະ ນຳ ເຖິງແມ່ນວ່າເຄື່ອງມືແກະເປືອກ (ສະແດງ ຄຳ ເຕືອນແລະ ຄຳ ແນະ ນຳ ສຳ ລັບ ໜັງ ສືແກະ). ຍົກຕົວຢ່າງ:

user=`echo “$UID”`
user=$(echo “$UID”)

8. ໃຊ້ພຽງແຕ່ອ່ານເພື່ອປະກາດຕົວແປທີ່ຄົງຄ້າງ

ຕົວແປທີ່ຄົງທີ່ບໍ່ປ່ຽນແປງ; ຄຸນຄ່າຂອງມັນບໍ່ສາມາດປ່ຽນແປງໄດ້ເມື່ອມັນໄດ້ ກຳ ນົດໄວ້ໃນສະຄິບ:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9. ໃຊ້ຊື່ Uppercase ສຳ ລັບຕົວແປແລະສິ່ງ ສຳ ຮອງຕົວນ້ອຍ ສຳ ລັບຕົວແປທີ່ ກຳ ນົດເອງ

ຕົວແປສະພາບແວດລ້ອມ bash ທັງ ໝົດ ແມ່ນມີຊື່ດ້ວຍຕົວອັກສອນໃຫຍ່, ສະນັ້ນໃຊ້ຕົວອັກສອນຕົວນ້ອຍເພື່ອຕັ້ງຊື່ຕົວແປທີ່ ກຳ ຫນົດເອງຂອງທ່ານເພື່ອຫລີກລ້ຽງການຂັດແຍ້ງຊື່ຕົວປ່ຽນແປງ:

#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h  “$1”

10. ປະຕິບັດການ debugging ສຳ ລັບຂຽນຍາວ

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

<

  • ວິທີການເປີດໃຊ້ ໂໝດ Debugging Shell ໃນ Linux
  • ວິທີການປະຕິບັດ Syntax ກວດສອບ Debugging mode ໃນ Scripts Shell
  • ວິທີການຕິດຕາມການປະຕິບັດ ຄຳ ສັ່ງໃນ Shell Script ດ້ວຍການຕິດຕາມ Shell
  • ຫມົດເທົ່ານີ້! ທ່ານມີການປະຕິບັດການຂຽນອັກສອນອື່ນໆທີ່ດີທີ່ສຸດເພື່ອແບ່ງປັນບໍ່? ຖ້າແມ່ນແລ້ວ, ຫຼັງຈາກນັ້ນໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມເພື່ອເຮັດແນວນັ້ນ.