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

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

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

รับ ShellCheck

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

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

อูบุนตู

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

sudo apt install shellcheck

Debian

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

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

sudo apt-get install shellcheck

Arch Linux

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

sudo nano /etc/pacman.conf

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

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

sudo pacman -Syyuu

สุดท้ายติดตั้ง ShellCheck เพื่อ Arch Linux ด้วย:

sudo pacman -S shellcheck

Fedora

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

sudo dnf install ShellCheck

OpenSUSE

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

sudo zypper install ShellCheck

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

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

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

export scversion="stable" # or "v0.4.7", or "latest"

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

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

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

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

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

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

แก้ไขข้อบกพร่องสคริปต์ด้วย ShellCheck

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

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

cd ~/shell-scripts

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

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

ls

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

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

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

shellcheck name-of-file.sh

หรือ

shellcheck name-of-file.bash

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

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

รับรายงานทันทีใน terminal สำหรับการเขียนโปรแกรมทุบตีของคุณมีประโยชน์มาก แต่คุณอาจสูญเสียถ้าคุณปิดเครื่อง หากต้องการหลีกเลี่ยงการรายงาน 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 ~/Documents/shellcheck-report-name-of-file.sh | more

หรือ

cat ~/Documents/shellcheck-report-name-of-file.bash | more
</ p>

ความคิดเห็น