DÒ LI (DEBUG) CA SCRIPT

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

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 thố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 (Trang 51)