DÒ LỖI (DEBUG) CỦA SCRIPT

Một phần của tài liệu LẬP TRÌNH TRONG MÔI TRƯỜNG SHELL (phần 2) doc (Trang 25)

Vì scipt chỉ là lệnh văn bản được shell thông địch, cho nên việc dò lỗi không khó như các chương trình biên dịch nhị phân. Mặc dù vậy không có công cụ hay trình trợ giúp nào đặc biệt giúp thực hiện công việc này. Dưới đây là tổng hợp một số phương thức dò lỗi của script thường dùng.

Khi một lỗi xuất hiện, shell thường in ra số thứ tự của dòng gây lỗi. Ta có thể thêm vào lệnh echo để in ra nội dung của các biến có khá năng gãy lỗi cho chương trình, cũng có thể kiểm tra ngay các đoạn mã trực tiếp trên dòng lệnh để xem cách thức lệnh hoạt động thực tế có được shell chấp nhận hay không.

Cách chủ yếu và hay nhất là hãy để cho shell tự thực hiện công việc bắt lỗi bằng cách dùng lệnh set đặt một số tùy chọn cho shell hoặc đặt thêm tham số khi gọi shell thực thi script như sau:

Tham số dòng Tùy chọn Ý nghĩa lệnh cho shell

sh -n <script> set –o noexec Chỉ kiểm tra cú pháp không thực thi lệnh

set -n

sh -v <script> set -o verbose Hiển thị lệnh trước khi thực hiện sự -v

sh –x set -o xtrace Hiển thị lệnh sau khi đã thực thi lệnh set -x

set -o nounset Hiển thị thông báo lỗi khi một biển set –u sử dụng nhưng chưa được định

nghĩa.

Lệnh set cho phép dùng khóa chuyển -o và +o để bật tắt cờ tùy chọn.

Cũng có thể dùng lệnh trap để bẩy tín hiệu thoát EXIT và in ra nội dung của một biến nào đó. Ví dụ:

trap 'echo exiting : error variable = $problem_var' EXIT.

Một phần của tài liệu LẬP TRÌNH TRONG MÔI TRƯỜNG SHELL (phần 2) doc (Trang 25)