วิธีดีบักสคริปต์ 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 | มากกว่า

Leave a Comment

Mp3 Diags: แก้ไขปัญหาไฟล์เสียง Mp3 มากถึง 50 ปัญหา

Mp3 Diags: แก้ไขปัญหาไฟล์เสียง Mp3 มากถึง 50 ปัญหา

MP3 Diags คือเครื่องมือขั้นสุดยอดสำหรับแก้ไขปัญหาในคอลเลกชันเพลงของคุณ สามารถแท็กไฟล์ MP3 ของคุณได้อย่างถูกต้อง เพิ่มปกอัลบั้มที่หายไป และแก้ไข VBR

แอปการแจ้งเตือนบนเดสก์ท็อปของ Google Voice

แอปการแจ้งเตือนบนเดสก์ท็อปของ Google Voice

เช่นเดียวกับ Google Wave, Google Voice ได้สร้างกระแสฮือฮาไปทั่วโลก Google มุ่งมั่นที่จะเปลี่ยนแปลงวิธีการสื่อสารของเรา และนับตั้งแต่นั้นมาก็กำลังกลายเป็น...

ดาวน์โหลด Flickr Favorites ด้วย FlickrFaves

ดาวน์โหลด Flickr Favorites ด้วย FlickrFaves

มีเครื่องมือมากมายที่ช่วยให้ผู้ใช้ Flickr สามารถดาวน์โหลดรูปภาพคุณภาพสูงได้ แต่มีวิธีดาวน์โหลด Flickr Favorites บ้างไหม? เมื่อเร็ว ๆ นี้เราได้...

OK Sampler คือซอฟต์แวร์สุ่มตัวอย่างเพลงฟรี

OK Sampler คือซอฟต์แวร์สุ่มตัวอย่างเพลงฟรี

การสุ่มตัวอย่างคืออะไร? ตามข้อมูลของ Wikipedia “คือการนำส่วนหนึ่งหรือตัวอย่างจากการบันทึกเสียงหนึ่งมาใช้ซ้ำเป็นเครื่องดนตรีหรือ...

การสำรองข้อมูล Google Sites: นำเข้า/ส่งออก

การสำรองข้อมูล Google Sites: นำเข้า/ส่งออก

Google Sites เป็นบริการจาก Google ที่ช่วยให้ผู้ใช้โฮสต์เว็บไซต์บนเซิร์ฟเวอร์ของ Google แต่มีปัญหาหนึ่งคือไม่มีตัวเลือกสำรองข้อมูลในตัว

แอปพลิเคชันเดสก์ท็อป Google Tasks

แอปพลิเคชันเดสก์ท็อป Google Tasks

Google Tasks ไม่ได้รับความนิยมเท่ากับบริการอื่นๆ ของ Google เช่น ปฏิทิน Wave เสียง ฯลฯ แต่ยังคงใช้กันอย่างแพร่หลายและเป็นส่วนสำคัญของผู้คน

วิธีการกู้คืนพาร์ติชั่นและข้อมูลฮาร์ดดิสก์ที่สูญหาย [คู่มือ]

วิธีการกู้คืนพาร์ติชั่นและข้อมูลฮาร์ดดิสก์ที่สูญหาย [คู่มือ]

ในคู่มือฉบับก่อนหน้าของเราเกี่ยวกับการล้างฮาร์ดดิสก์และสื่อแบบถอดได้อย่างปลอดภัยผ่าน Ubuntu Live และซีดีบูต DBAN เราได้กล่าวถึงดิสก์ที่ใช้ Windows

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

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

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

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

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

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

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

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

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