คุณกำลังมีปัญหากับสคริปต์ทุบตีคุณเขียนสำหรับ 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>
ความคิดเห็น