Đưa ra một whilevòng lặp một điều kiện boolean như sau:
#!/bin/bash
while true; do
do_something && wait
done
Điều này sẽ thực hiện lặp đi lặp lại cho đến khi bash nhận được tín hiệu chấm dứt quá trình. Thường ở dạng ctrl+c.
Bạn cũng có thể sử dụng watchlệnh để chạy một kịch bản nhiều lần. Ví dụ, một đồng hồ đơn giản trong thiết bị đầu cuối bash của bạn sử dụng watchcó thể trông như sau:
$ watch -t -n1 date +%T
Các -ttùy chọn nói watchkhông hiển thị tiêu đề của quá trình đó đang chạy. Điều này cung cấp cho bạn một đầu ra sạch sẽ chỉ của lệnh đang được lặp lại. Các -n1tùy chọn cho xem để lặp lại mỗi ngiây. Trong trường hợp này, -n1sẽ là khoảng thời gian 1thứ hai. Sau đó date +%Tlệnh hiển thị thời gian tại thời điểm hoàn thành lệnh. Thực hiện lệnh này sẽ cung cấp cho bạn một đồng hồ hoạt động trong thiết bị đầu cuối của bạn.
Và sau đó, một phương thức nữa không có trong bất kỳ câu trả lời nào khác sẽ là một cuộc gọi hàm vô hạn.
do_something() { do_something }; do_something && wait
Điều này về cơ bản giống như whilevòng lặp boolean chỉ sử dụng các lệnh gọi hàm đệ quy.
(chỉnh sửa) Để giữ tài nguyên cho máy của bạn, tôi đã thêm vào && waitđể mỗi lần chạy một quy trình, các vòng lặp sẽ "chờ" cho đến khi quá trình đó kết thúc với trạng thái thoát 0 trước lần lặp tiếp theo. Điều này rất hữu ích trong một kịch bản shell tương tác.