Bash:
Sử dụng bộ gỡ lỗi

Cách thực hiện:

Bash không có trình gỡ lỗi tích hợp sẵn giống như một số ngôn ngữ khác, nhưng bạn có thể sử dụng các lệnh tích hợp như set -x để theo dõi những gì đang xảy ra. Hoặc, để nâng cấp, có bashdb, một trình gỡ lỗi thích hợp để bước qua mã của bạn. Đây là một cái nhìn sơ qua:

# Sử dụng set -x để gỡ lỗi
set -x
echo "Bắt đầu gỡ lỗi"
my_var="Hello, Thế giới Debug!"
echo $my_var
set +x

# Sử dụng bashdb
# Cài đặt bashdb với trình quản lý gói của bạn, ví dụ: apt, yum, brew.
# Gỡ lỗi một script gọi là my_script.sh:
bashdb my_script.sh

Kết quả khi chạy với set -x:

+ echo 'Bắt đầu gỡ lỗi'
Bắt đầu gỡ lỗi
+ my_var='Hello, Thế giới Debug!'
+ echo 'Hello, Thế giới Debug!'
Hello, Thế giới Debug!
+ set +x

Sâu hơn nữa

Trước đây, gỡ lỗi các script Bash có nghĩa là làm cho mã của bạn chứa đầy các lệnh echo. Nhưng sau đó, set -x xuất hiện, cho chúng ta cái nhìn vào việc thực thi thời gian chạy mà không cần in thủ công. Và cho những ai đang khao khát kiểm soát nhiều hơn, trình gỡ lỗi bashdb xuất hiện, lấy cảm hứng từ trình gỡ lỗi gdb cho C/C++.

Về các phương án thay thế, ngoài các lệnh set (-x, -v, -e), các lựa chọn khác bao gồm chuyển hướng đầu ra sang một tệp để phân tích hoặc sử dụng các công cụ bên ngoài như ShellCheck cho phân tích tĩnh.

Về mặt triển khai, set -x dễ dàng; đó là một tùy chọn Bash tự nhiên in ra các lệnh và các đối số của chúng khi chúng được thực thi. bashdb, mặt khác, cho phép điều hướng qua mã, đặt các điểm dừng, và đánh giá các biểu thức - những thứ cho bạn cơ hội chiến đấu chống lại các lỗi khó chịu hơn.

Xem thêm