Tạo chương trình đầu tiên đọc từ ống, sau đó từ bàn phím


17

Hãy xem xét chương trình tương tác interactive. Tôi phải chạy chương trình này khá thường xuyên và mỗi lần tôi chạy nó, một vài lệnh đầu tiên đều giống nhau. Rõ ràng, phải gõ các lệnh đó nhiều lần là một nỗi đau. Tôi đã thu thập các lệnh đó (được phân tách bằng dòng mới) trong tệp cmd. Bây giờ tôi có thể làm cat cmd | interactiveđể chạy các lệnh. Vấn đề là một khi cmdđã được đọc đầy đủ, interactivenhận EOF và thoát.

Những gì tôi muốn làm là đầu tiên đã interactiveđọc từ đường ống (rõ ràng interactive < cmdcũng có thể chấp nhận được) và khi nhận được EOF, hãy bắt đầu đọc từ bàn phím thay thế.

Câu trả lời:


21

Chỉ cần yêu cầu catnối tập tin đó với stdin:

cat cmd - | interactive

1
Giải pháp trên có lẽ là tối ưu. Nếu bạn đang sử dụng máy tính để bàn gui, thì hãy xem AutoKey. Nó sẽ cho phép bạn xây dựng các macro có thể làm hầu hết mọi thứ bạn có thể làm từ bàn phím. Sẽ hơi rắc rối nếu bạn phải chờ đợi mọi thứ xảy ra hoặc phải lấy dữ liệu từ màn hình, nhưng nếu bạn biết python (ngôn ngữ mà macro của nó được mã hóa), bầu trời là giới hạn.
Joe
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.