Tin tức và phân tích của tất cả các thiết bị di động

Cách gỡ lỗi các tập lệnh Linux Bash bằng ShellCheck

Bạn có gặp sự cố với tập lệnh Bash mà bạn đã viết cho PC Linux của mình không? Thay vì tìm kiếm vô số luồng trên StackExchange để được trợ giúp phát triển, hãy cân nhắc sử dụng ShellCheck để gỡ lỗi các tập lệnh Linux Bash và tự động tìm lỗi trong mã của bạn.

Tải xuống ShellCheck

ShellCheck là một công cụ hữu ích, nhưng nó không đi kèm với hệ điều hành Linux. Thay vào đó, nếu bạn muốn sử dụng nó, bạn phải cài đặt nó trước. Trong hướng dẫn này, chúng tôi sẽ thảo luận cách cài đặt ShellCheck từ nhiều nguồn phần mềm chính thức khác nhau. Chúng tôi cũng sẽ chỉ cho bạn cách làm cho chương trình hoạt động bằng cách sử dụng tệp nhị phân Linux chung.

Mở một cửa sổ đầu cuối và cập nhật các gói của bạn. Sau đó làm theo các hướng dẫn tương ứng với hệ điều hành Linux của bạn.

Ubuntu

ShellCheck được bao gồm trong các nguồn phần mềm chính thức của Ubuntu, vì vậy việc cài đặt khá dễ dàng. Trong thiết bị đầu cuối, hãy sử dụng trình quản lý gói Apt và tải phiên bản ShellCheck đang hoạt động mới nhất.

sudo apt install shellcheck

Debian

Debian Stable có sẵn phiên bản ShellCheck cũ hơn để người dùng cài đặt. Xin lưu ý rằng bản phát hành này đang bị tạm dừng do cách thức hoạt động của Debian.

Lưu ý: Muốn có phiên bản ShellCheck mới hơn? Làm theo hướng dẫn của chúng tôi và tìm hiểu cách tải xuống phần mềm hiện đại hơn trên Debian.

sudo apt-get install shellcheck

Vòm Linux

Để tải ShellCheck trên Arch Linux, trước tiên bạn phải kích hoạt kho lưu trữ phần mềm “Cộng đồng”. Kích hoạt “Cộng đồng” yêu cầu chỉnh sửa tệp Pacman.conf. Để chỉnh sửa tệp, hãy mở Pacman.conf bằng Nano.

sudo nano /etc/pacman.conf

Cuộn xuống (sử dụng các phím mũi tên) và tìm phần “Cộng đồng” của tệp. Xóa tất cả các lần xuất hiện của ký hiệu # (khoảng ba dòng). Sau đó lưu các thay đổi bằng cách nhấn Ctrl + O.

Sau khi thực hiện các thay đổi mới cho Pacman.conf, nhấn Ctrl + X để đóng Nano. Sau đó, đồng bộ hóa lại Pacman để đặt quyền truy cập vào kho lưu trữ “Cộng đồng” Arch Linux.

sudo pacman -Syyuu

Cuối cùng, cài đặt ShellCheck trên Arch Linux với:

sudo pacman -S shellcheck

mũ phớt

Để có được công cụ phân tích tập lệnh ShellCheck trên Fedora Linux, hãy mở một thiết bị đầu cuối và sử dụng công cụ quản lý gói DNF.

sudo dnf install ShellCheck

mởSUSE

Cài đặt ShellCheck trên OpenSUSE không yêu cầu bất kỳ bước đặc biệt nào như trong các nguồn phần mềm phân phối chính. Để có được điều này, hãy nhập lệnh gói Zypper sau trong cửa sổ đầu cuối.

sudo zypper install ShellCheck

Linux chung

Người dùng các bản phân phối Linux ít được biết đến muốn truy cập vào công cụ phân tích tập lệnh ShellCheck phải cài đặt tệp nhị phân chung. May mắn thay, tệp nhị phân này rất dễ cài đặt và không yêu cầu phải loay hoay với mã nguồn. Để làm cho nó hoạt động, hãy làm theo các bước dưới đây!

Bươc 1: xuất phiên bản ShellCheck mà bạn định tải xuống môi trường đầu cuối của mình.

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

Bươc 2: sử dụng trình tải xuống wget, tải xuống tệp nhị phân ShellCheck mới nhất.

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

Bươc 3: giải nén kho lưu trữ ShellCheck TarXZ bằng lệnh tar.

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

Bươc 4: cài đặt ShellCheck trên PC Linux của bạn bằng lệnh cp.

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

Gỡ lỗi tập lệnh với ShellCheck

Mục đích chính của ShellCheck là xem xét một tập lệnh (thường là Bash), phát hiện các lệnh không chính xác và đề xuất sửa chữa. Để sử dụng cơ bản, hãy làm như sau.

Trước tiên, hãy đưa đĩa CD vào vị trí tập lệnh bạn muốn kiểm tra trên PC Linux của bạn. Đối với hướng dẫn này, tập lệnh của chúng tôi nằm trong ~/shell-scripts. của bạn có thể khác nhau.

cd ~/shell-scripts

Chạy lệnh ls và liệt kê tất cả các tệp trong thư mục hiện tại.

Lưu ý: nếu bạn định sử dụng ShellCheck trong một thư mục có nhiều loại tệp, bạn nên kết hợp grep và ls với nhau. Sử dụng hai lệnh này cùng nhau cho phép bạn lọc ra tất cả các tệp không phải tập lệnh.

ls

Hoặc kết hợp với grep để chỉ liệt kê các tệp script.

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

Tìm tên của tệp script trong dòng lệnh ls và tô sáng tên tệp bằng chuột. Khi bạn đã sẵn sàng, hãy chạy nó qua ShellCheck và kiểm tra mã.

shellcheck name-of-file.sh

hoặc

shellcheck name-of-file.bash

Ngay khi bạn chạy lệnh shellcheck, nó sẽ phát hiện các vấn đề với mã và đặt nó vào dấu nhắc lệnh của thiết bị đầu cuối. Đọc tiếp và tìm hiểu cách cải thiện chương trình của bạn bằng cách làm theo các gợi ý trong đó.

Lưu báo cáo ShellCheck vào một tệp

Nhận báo cáo tức thời trong thiết bị đầu cuối để phát triển bash của bạn rất hữu ích, tuy nhiên bạn có thể mất nó nếu đóng thiết bị đầu cuối. Như một giải pháp thay thế cho việc mất báo cáo kiểm tra trình bao, chúng tôi khuyên bạn nên lưu đầu ra vào tệp văn bản bằng cách chạy chương trình cùng với chức năng >> trong thiết bị đầu cuối.

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

hoặc

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

Xem báo cáo đã lưu trong terminal bằng lệnh cat.

cat ~/Documents/shellcheck-report-name-of-file.sh | more

hoặc

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

Mục lục