Làm thế nào để tạm dừng với thời gian cụ thể giữa hai lệnh trong kịch bản?


17

Tôi muốn làm như sau:

#!/bin/bash
command1
pause 30 seconds
command2
exit

Đây chỉ là kịch bản ví dụ với tạm dừng 30 giây giữa khi chạy 2 lệnh.

làm như thế nào?

Câu trả lời:


26

Bạn có thể sử dụng điều này trong một thiết bị đầu cuối:

command1; sleep 30; command2

Trong kịch bản của bạn:

#!/bin/bash
command1
sleep 30
command2
exit

Hậu tố cho thời gian ngủ:

  • s trong vài giây (mặc định)
  • m trong vài phút
  • h hàng giờ
  • d ngày

4

Bạn có thể sử dụng read -t. Ví dụ:

read -p "Continuing in 5 seconds..." -t 5
echo "Continuing..."

Trong kịch bản của bạn:

command1
read -p 'Pausing for 30 seconds' -t 30
command2

Lưu ý rằng bạn có thể nhấn Enterđể bỏ qua khoảng thời gian chờ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.