Lệnh ngủ trong Linux

Sleep Command Linux



Lệnh Sleep được sử dụng để trì hoãn trong một khoảng thời gian cố định trong quá trình thực thi bất kỳ tập lệnh nào. Khi người lập trình cần tạm dừng thực hiện bất kỳ lệnh nào cho mục đích cụ thể thì lệnh này được sử dụng với giá trị thời gian cụ thể. Bạn có thể đặt số tiền trễ bằng giây (s), phút (m), giờ (h) và ngày (d). Hướng dẫn này sẽ giúp bạn học cách sử dụng lệnh ngủ bằng cách sử dụng các tập lệnh bash khác nhau.

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, hNS 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 / bash

quă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 / bash

quă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 14 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 / bash
n=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 lspwd Đ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.