/ Nó là thư mục chính mà chỉ chứa các thư mục cần thiết ở cấp cao nhất trong cấu trúc file.
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 149bởi rm là cần thiết bởi vì không có nó thì chương trình sẽ tiếp tục chạy tại điểm mà nó dừng lại kh
bởi rm là cần thiết bởi vì không có nó thì chương trình sẽ tiếp tục chạy tại điểm mà nó dừng lại khi signal được nhận.
Signal số 1 được tạo để trì hoãn: hoặc ai đó cố tình treo dòng hoặc dòng một cách ngẫu nhiên bị ngắt kết nối.
Bạn có thể chỉnh sửa trap trước để cũng gỡ bỏ hai file đã xác định trong trường hợp này bằng cách thêm signal số 1 tới danh sách các signal.
$ trap "rm $WORKDIR/work1$$ $WORKDIR/dataout$$; exit" 1 2
Bây giờ những file này sẽ bị gỡ bỏ nếu dòng bị treo hoặc nếu phím Ctrl+C được nhấn.
Lệnh được xác định để trap phải được bao quanh trong trích dẫn nếu chúng chứa nhiều hơn một lệnh. Bạn cũng lưu ý rằng shell quét dòng lệnh tại thời điểm mà lệnh trap được chạy và cũng thưc hiện quét lần nữa khi một trong các signal được liệt kê được nhận.
Vì thế trong ví dụ trước, giá trị của WORKDIR và $$ sẽ được thay đổi tại thời gian mà lệnh trap được chạy. Nếu bạn muốn sự thay đổi này xảy ra tại thời điểm mà hoặc signal số 1 hoặc số 2 được nhận, bạn có thể đặt các lệnh bên trong trích dẫn đơn như sau:
$ trap 'rm $WORKDIR/work1$$ $WORKDIR/dataout$$; exit' 1 2 Bỏ qua các signal trong Unix/Linux
Nếu lệnh được liệt kê cho trap là null, thì signal được xác định sẽ bị bỏ qua khi được nhận. Ví dụ, lệnh sau:
$ trap '' 2
Xác định rằng signal ngắt bị bỏ qua. Bạn có thể muốn bỏ qua các signal cụ thể nào đó khi thực hiện một số hoạt động mà mà không muốn bị ngắt. Bạn có thể xác định nhiều signal bị bỏ qua như sau:
$ trap '' 1 2 3 15
Ghi nhớ rằng đối số thứ nhất phải được xác định cho một signal để bị bỏ qua và cách trên là không cân bằng với cách viết sau, mà cách viết sau này có ý nghĩa riêng của nó:
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 150 Nếu bạn bỏ qua một signal, tất cả các shell phụ cũng bỏ qua signal đó. Tuy nhiên, nếu bạn xác Nếu bạn bỏ qua một signal, tất cả các shell phụ cũng bỏ qua signal đó. Tuy nhiên, nếu bạn xác định một hành động được thực hiện khi nhận được signal thì tất cả các shell phụ cũng sẽ vẫn thực hiện hành động đó khi nhận được signal đó.