วิธีดีบักสคริปต์ Linux Bash ด้วย ShellCheck

วิธีดีบักสคริปต์ Linux Bash ด้วย ShellCheck

คุณมีปัญหากับสคริปต์ Bash ที่คุณเขียนสำหรับ Linux PCหรือไม่? แทนที่จะดูเธรดนับไม่ถ้วนบน StackExchange สำหรับความช่วยเหลือในการเขียนโปรแกรม ให้พิจารณาใช้เครื่องมือ ShellCheck เพื่อดีบักสคริปต์ Linux Bash และค้นหาข้อผิดพลาดในโค้ดของคุณโดยอัตโนมัติ

รับ ShellCheck

ShellCheck เป็นเครื่องมือที่มีประโยชน์ แต่ไม่ได้มาพร้อมกับระบบปฏิบัติการ Linux ของคุณ แต่ถ้าคุณต้องการใช้ คุณจะต้องติดตั้งก่อน ในบทช่วยสอนนี้ เราจะพูดถึงวิธีการติดตั้ง ShellCheck จากแหล่งซอฟต์แวร์ที่เป็นทางการต่างๆ นอกจากนี้เรายังจะแสดงวิธีทำให้โปรแกรมทำงานผ่านไบนารี Linux ทั่วไปอีกด้วย

เปิดหน้าต่างเทอร์มินัลและอัปเดตแพ็คเกจของคุณ จากนั้น ทำตามคำแนะนำที่สอดคล้องกับระบบปฏิบัติการ Linux ของคุณ

อูบุนตู

ShellCheck อยู่ในแหล่งซอฟต์แวร์อย่างเป็นทางการของ Ubuntu ดังนั้นการติดตั้งจึงค่อนข้างง่าย ในเทอร์มินัล ใช้ตัวจัดการแพ็คเกจ Apt และทำให้ ShellCheck เวอร์ชันล่าสุดใช้งานได้

sudo apt ติดตั้ง shellcheck

เดเบียน

Debian Stable มี ShellCheck เวอร์ชันเก่าพร้อมให้ผู้ใช้ติดตั้ง โปรดทราบว่าเวอร์ชันนี้ถูกระงับเนื่องจากการทำงานของ Debian

หมายเหตุ: ต้องการโปรแกรม ShellCheck เวอร์ชันใหม่กว่าหรือไม่ ทำตามคำแนะนำของเราและเรียนรู้เกี่ยวกับวิธีการที่จะได้รับซอฟแวร์ที่ทันสมัยมากขึ้นใน Debian

sudo apt-get ติดตั้ง shellcheck

Arch Linux

ในการรับ ShellCheck บน Arch Linux คุณต้องเปิดใช้งานที่เก็บซอฟต์แวร์ "ชุมชน" ก่อน การเปิดใช้งาน "ชุมชน" ต้องแก้ไขไฟล์ Pacman.conf หากต้องการแก้ไขไฟล์ ให้เปิด Pacman.conf ใน Nano

sudo nano /etc/pacman.conf

เลื่อนดู (ด้วยปุ่มลูกศร) และค้นหาส่วน "ชุมชน" ของไฟล์ ลบอินสแตนซ์ทั้งหมดของสัญลักษณ์ # (ประมาณสามบรรทัด) จากนั้นบันทึกการแก้ไขโดยการกดCtrl + Oปุ่ม

ด้วยการแก้ไขใหม่ใน Pacman.conf ให้กดCtrl + Xเพื่อปิด Nano จากนั้น ซิงค์ Pacman อีกครั้งเพื่อตั้งค่าการเข้าถึงที่เก็บ "ชุมชน" ของ Arch Linux

sudo pacman -Syyuu

สุดท้าย ติดตั้ง ShellCheck ไปยัง Arch Linux ด้วย:

sudo pacman -S shellcheck

Fedora

ในการรับเครื่องมือวิเคราะห์สคริปต์ ShellCheck บน Fedora Linux ให้เปิดเทอร์มินัลแล้วใช้เครื่องมือการจัดการแพ็คเกจ DNF

sudo dnf ติดตั้ง ShellCheck

OpenSUSE

การติดตั้ง ShellCheck บน OpenSUSE ไม่จำเป็นต้องมีขั้นตอนพิเศษ เนื่องจากอยู่ในแหล่งซอฟต์แวร์หลักของการแจกจ่าย หากต้องการรับ ให้ป้อนคำสั่งแพ็คเกจ Zypper ต่อไปนี้ในหน้าต่างเทอร์มินัล

sudo zypper ติดตั้ง ShellCheck

ลินุกซ์ทั่วไป

ผู้ใช้ลินุกซ์ที่รู้จักกันน้อยกว่าที่ต้องการเข้าถึงเครื่องมือวิเคราะห์สคริปต์ ShellCheck จะต้องติดตั้งไบนารีรีลีสสากล โชคดีที่ไบนารีรีลีสนี้ติดตั้งง่ายและไม่ต้องแก้ไขซอร์สโค้ด เพื่อให้ใช้งานได้ ให้ทำตามขั้นตอนด้านล่าง!

ขั้นตอนที่ 1:   ส่งออกเวอร์ชันของ ShellCheck ที่คุณกำลังจะดาวน์โหลดไปยังสภาพแวดล้อมเทอร์มินัลของคุณ

export scversion= "เสถียร"  # หรือ "v0.4.7" หรือ "ล่าสุด"

ขั้นตอนที่ 2:ใช้เครื่องมือดาวน์โหลดwgetคว้าไบนารีรุ่นล่าสุดของ ShellCheck

wget " https://storage.googleapis.com/shellcheck/shellcheck- ${scversion} .linux.x86_64.tar.xz "

ขั้นตอนที่ 3:แตกไฟล์เก็บถาวร ShellCheck TarXZ ด้วย  คำสั่งtar 

tar --xz -xvf shellcheck- " ${scversion} " .linux.x86_64.tar.xz

ขั้นตอนที่ 4:ติดตั้ง ShellCheck บน Linux PC ของคุณด้วยคำสั่งcp

cp shellcheck- " ${scversion} " /shellcheck /usr/bin/

ดีบักสคริปต์ด้วย ShellCheck

วัตถุประสงค์หลักของ ShellCheck คือการตรวจสอบสคริปต์ (โดยปกติคือ Bash) ตรวจหาคำสั่งที่ใช้ในทางที่ผิด และเสนอการแก้ไข สำหรับการใช้งานพื้นฐาน ให้ทำดังนี้

ขั้นแรกซีดีที่สคริปต์ที่คุณต้องการตรวจสอบอยู่ใน Linux PC ของคุณ ในการกวดวิชานี้สคริปต์ของเราอยู่ใน~ / เปลือกสคริปต์ ของคุณอาจแตกต่างกัน

cd ~/shell-scripts

รันคำสั่งlsและดูไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบัน

หมายเหตุ: หากคุณต้องการใช้ ShellCheck ในไดเร็กทอรีที่มีไฟล์หลายประเภท ควรรวม  grep และ  ls เข้าด้วยกัน การใช้สองคำสั่งนี้ร่วมกันทำให้คุณสามารถกรองไฟล์ที่ไม่ใช่สคริปต์ทั้งหมดได้

ลส

หรือรวมกับgrepเพื่อดูเฉพาะไฟล์สคริปต์

ls | grep ".sh"
ls | grep ".bash"

ค้นหาชื่อไฟล์สคริปต์ในพรอมต์lsและไฮไลต์ชื่อไฟล์ด้วยเมาส์ เมื่อพร้อมแล้ว ให้เรียกใช้ผ่าน ShellCheck และตรวจสอบรหัสของคุณ

วิธีดีบักสคริปต์ Linux Bash ด้วย ShellCheck

shellcheck ชื่อไฟล์.sh

หรือ

shellcheck name-of-file.bash

วิธีดีบักสคริปต์ Linux Bash ด้วย ShellCheck

ทันทีหลังจากรันคำสั่งshellcheckคำสั่งจะตรวจพบปัญหากับโค้ดของคุณและใส่ไว้ในพรอมต์เทอร์มินัล อ่านและเรียนรู้วิธีปรับปรุงการเขียนโปรแกรมของคุณโดยทำตามคำแนะนำที่ได้รับ

บันทึกรายงาน ShellCheck เป็นไฟล์

การรับรายงานทันทีในเทอร์มินัลสำหรับการเขียนโปรแกรม bash ของคุณนั้นมีประโยชน์มาก อย่างไรก็ตาม คุณอาจสูญเสียรายงานหากคุณปิดเทอร์มินัล เพื่อหลีกเลี่ยงการสูญเสียรายงาน shellcheck ของคุณ เราแนะนำให้บันทึกผลลัพธ์เป็นไฟล์ข้อความ โดยการเรียกใช้โปรแกรมร่วมกับคุณสมบัติ>>ในเทอร์มินัล

shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh

หรือ

shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash

ดูรายงานที่บันทึกไว้ในเทอร์มินัลผ่านคำสั่งcat

วิธีดีบักสคริปต์ Linux Bash ด้วย ShellCheck

cat ~/Documents/shellcheck-report-name-of-file.sh | มากกว่า

หรือ

cat ~/Documents/shellcheck-report-name-of-file.bash | มากกว่า


วิธีการติดตั้ง GitLab บน Ubuntu Server

วิธีการติดตั้ง GitLab บน Ubuntu Server

คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

ต้องการถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker ของคุณหรือไม่ ด้วยเครื่องมือ Docker cp คุณสามารถย้ายไฟล์เข้าและออกจากคอนเทนเนอร์ได้อย่างง่ายดาย

วิธีติดตั้งไฟล์ DEB บน Linux

วิธีติดตั้งไฟล์ DEB บน Linux

ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ

วิธีทำให้ GOG Galaxy ทำงานบน Linux

วิธีทำให้ GOG Galaxy ทำงานบน Linux

คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง

วิธีการติดตั้ง Docker Engine บน CentOS

วิธีการติดตั้ง Docker Engine บน CentOS

Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม