Cú pháp lệnh Sleep:
số giấc ngủ [hậu tố]
Bạn có thể sử dụng bất kỳ số nguyên hoặc số phân số nào làm giá trị thời gian. Phần hậu tố là tùy chọn cho lệnh này. Nếu bạn bỏ qua hậu tố thì giá trị thời gian được tính bằng giây theo mặc định. Bạn có thể dùng NS, m, h và NS như giá trị hậu tố. Các ví dụ sau đây cho thấy việc sử dụng lệnh sleep với các hậu tố khác nhau.
Ví dụ-1: lệnh ngủ không có bất kỳ hậu tố nào
Trong tập lệnh sau, lệnh ngủ được sử dụng với giá trị số 2 duy nhất và không có hậu tố nào được sử dụng. Vì vậy, nếu bạn chạy tập lệnh thì chuỗi Nhiệm vụ hoàn thành sẽ in sau khi chờ 2 giây.
#! / bin / bash
quăng đi 'Chờ 2 giây ...'
ngủ 2
quăng đi 'Nhiệm vụ hoàn thành'
Chạy tệp bash với thời gian để hiển thị ba loại giá trị thời gian để chạy tập lệnh. Kết quả hiển thị thời gian được sử dụng bởi một hệ thống, người dùng và thời gian thực.
$thời gian bấu víusleep1.sh
Đầu ra:
Ví dụ-2: lệnh ngủ với hậu tố phút
Trong tập lệnh sau, ‘ NS ‘Được sử dụng làm hậu tố với lệnh sleep. Ở đây, giá trị thời gian là 0,05 phút. Sau khi đợi 0,05 phút, Nhiệm vụ hoàn thành tin nhắn sẽ được in.
#! / bin / bashquăng đi 'Chờ 0,05 phút ...'
ngủ0,05m
quăng đi 'Nhiệm vụ hoàn thành'
Chạy tập lệnh với thời gian lệnh như ví dụ đầu tiên.
$thời gian bấu víusleep2.shĐầu ra:
Ví dụ-3: lệnh ngủ với hậu tố giờ
Trong tập lệnh sau, ‘ NS ‘Được sử dụng làm hậu tố với lệnh sleep. Ở đây, giá trị thời gian là 0,003 giờ. Sau khi đợi 0,003 giờ Nhiệm vụ hoàn thành nên được in trên màn hình nhưng nó đòi hỏi nhiều lần hơn trong thực tế khi 'NS' hậu tố được sử dụng.
#! / bin / bashquăng đi 'Đang đợi 0,003 giờ ...'
ngủ0,003 giờ
quăng đi 'Nhiệm vụ hoàn thành'
$thời gian bấu víusleep3.sh
Đầu ra:
Ví dụ-4: lệnh ngủ với vòng lặp
Bạn có thể sử dụng lệnh ngủ cho các mục đích khác nhau. Trong ví dụ sau, lệnh sleep được sử dụng với vòng lặp while. Ban đầu, giá trị của biến n được đặt thành 1 và giá trị của n sẽ được tăng dần bởi 1 vì 4 lần trong mọi 2 khoảng thời gian giây. Vì vậy, khi bạn sẽ chạy script, mỗi đầu ra sẽ xuất hiện sau khi chờ 2 giây.
#! / bin / bashn=1
trong khi [ $ n -lt 5 ]
làm
quăng đi 'Giá trị của n bây giờ là$ n'
ngủ2 giây
quăng đi ''
((n=$ n+1))
xong
Đầu ra:
Ví dụ-5: Lệnh ngủ trong terminal với các lệnh khác
Giả sử, bạn muốn chạy nhiều lệnh và đặt khoảng thời gian cố định giữa các đầu ra của hai lệnh, thì bạn có thể sử dụng lệnh sleep để thực hiện tác vụ đó. Trong ví dụ này, lệnh ls và pwd Đang có với ngủ chỉ huy. Sau khi thực hiện lệnh, ls lệnh sẽ hiển thị danh sách thư mục của thư mục hiện tại và hiển thị đường dẫn thư mục làm việc hiện tại sau khi chờ 2 giây.
$ls && ngủ 2 && pwdĐầu ra:
Ví dụ-6: Sử dụng lệnh ngủ từ dấu nhắc lệnh
lệnh sleep được sử dụng giữa hai lệnh echo trong ví dụ sau. Ba giá trị thời gian sẽ được hiển thị sau khi thực hiện lệnh.
$thời gian (quăng đi 'Bắt đầu';ngủ 5;quăng đi 'Kết thúc')Đầu ra:
Lệnh sleep là một lệnh hữu ích khi bạn cần viết một tập lệnh bash với nhiều lệnh hoặc nhiệm vụ, kết quả của bất kỳ lệnh nào có thể yêu cầu một lượng lớn thời gian và lệnh khác cần đợi hoàn thành nhiệm vụ của lệnh trước. Ví dụ: bạn muốn tải xuống các tệp tuần tự và không thể bắt đầu tải xuống lần tiếp theo trước khi hoàn tất quá trình tải xuống trước đó. Trong trường hợp này, tốt hơn là bạn nên ngủ lệnh trước mỗi lần tải xuống để đợi một khoảng thời gian cố định.