Bạn không cần phải đọc mỗi dòng, chỉ cần thêm một cái bẫy như sau vào tập lệnh bash của bạn, nó có hiệu ứng bạn muốn, ví dụ:
#!/usr/bin/env bash
set -x
trap read debug
< YOUR CODE HERE >
Hoạt động, chỉ cần thử nghiệm nó với bash v4.2.8 và v3.2.25.
PHIÊN BẢN CẢI TIẾN
Nếu tập lệnh của bạn đang đọc nội dung từ các tệp, danh sách ở trên sẽ không hoạt động. Một cách giải quyết có thể giống như ví dụ sau.
#!/usr/bin/env bash
echo "Press CTRL+C to proceed."
trap "pkill -f 'sleep 1h'" INT
trap "set +x ; sleep 1h ; set -x" DEBUG
< YOUR CODE HERE >
Để dừng tập lệnh, bạn sẽ phải giết nó khỏi một trình bao khác trong trường hợp này.
ALTERNATIVE1
Nếu bạn chỉ muốn đợi một vài giây trước khi tiếp tục lệnh tiếp theo trong tập lệnh của mình, ví dụ sau có thể phù hợp với bạn.
#!/usr/bin/env bash
trap "set +x; sleep 5; set -x" DEBUG
< YOUR CODE HERE >
Tôi đang thêm set + x và set -x trong lệnh trap để làm cho đầu ra dễ đọc hơn.