Một cách hay để nói về những người chạy bộ này sau 15 phút trên một cái vỏ là gì?


7

Tôi dùng cái này

sleep 900; <command>

trên vỏ của tôi. Chỉ muốn biết là có một số cách thay thế / tốt hơn mà bạn sử dụng?


4
bạn có thể làm sleep 15m && commandtheo cách đó nếu bạn muốn hủy nó thì bạn có thể làm được ctrl-c(phiên bản của bạn sẽ chạy lệnh nếu bạn làm ctrl-cnhư vậy).
OneOfOne

@OneOfOne Tôi không biết đó là vỏ hay thứ gì khác phụ thuộc, nhưng tôi chưa bao giờ thấy Ctrl + C rơi như thế; nó hủy bỏ toàn bộ dòng
Michael Mrozek

@Michael Tôi có thể thề rằng nó đã từng làm điều đó với bash cũ hơn, tôi chỉ thử và không được, vì vậy hãy bỏ qua nhận xét của tôi
OneOfOne

1
@OneOfOne: Nó đã làm bash 3.x; đã được sửa trong bash 4.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


23

Bạn đang tìm kiếm at( tại @ wikipedia )?

usr@srv % at now + 15 min
at> YOUR COMMAND HERE

Bạn có thể xác định nhiều lệnh sẽ được thực hiện trong 15 phút; tách chúng với một sự trở lại.
Xác nhận tất cả các lệnh với control+d.


4

Tôi sử dụng một đoạn script ngắn mà tôi giữ trong đường dẫn của mình, được gọi sau , có chứa

at now + "$@"

Cách này rất dễ, ví dụ, gõ:

after 15 min

sau đó bất kỳ lệnh và Ctrl-D, hoặc

echo COMMANDS | after 15 min

mà làm như vậy.


4
bạn có thể muốn sử dụng "$@"thay vì $*- sau đó các đối số có chứa khoảng trắng sẽ được trích dẫn chính xác
glenn jackman

Cảm ơn vì tiền hỗ trợ. Tôi chỉnh sửa câu trả lời của tôi cho phù hợp. Tôi nghĩ rằng nó không thay đổi bất cứ điều gì trong bối cảnh của tại lệnh, bu nó chắc chắn là tiêu chuẩn thực hành tốt hơn.
Dalker

2
bạn cần sử dụng các trích dẫn xung quanh nó: cụ thể là "$@"không $@. Chỉ khi trích dẫn sẽ bash thực hiện mở rộng đặc biệt này: gnu.org/software/bash/manual/bashref.html#Special-Parameters
glenn Jackman

@glenn, chỉnh sửa lại cho phù hợp. Cảm ơn vì tiền boa, tôi không biết điều đó!
Dalker
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.