Tôi đã chơi một chút với system()
và system2()
để giải trí, và nó khiến tôi có thể lưu đầu ra hoặc trạng thái thoát trong một đối tượng. Một ví dụ đồ chơi:Chụp cả trạng thái thoát và đầu ra từ một cuộc gọi hệ thống trong R
X <- system("ping google.com",intern=TRUE)
mang lại cho tôi đầu ra, trong khi
X <- system2("ping", "google.com")
mang lại cho tôi những trạng thái thoát (1 trong trường hợp này, google không mất ping). Nếu tôi muốn cả đầu ra và trạng thái thoát, tôi phải thực hiện 2 cuộc gọi hệ thống, điều này có vẻ hơi quá mức. Làm thế nào tôi có thể nhận được cả hai chỉ sử dụng một cuộc gọi hệ thống?
EDIT:. Tôi muốn có cả hai trong giao diện điều khiển, nếu có thể mà không đi qua một tập tin tạm thời bằng cách sử dụng stdout="somefile.ext"
trong system2
cuộc gọi và sau đó đọc nó trong
Bạn đang sử dụng Linux hoặc Windows? Tôi thậm chí không thể có được stdout = "somefile.ext" để làm việc trên Windows, nhưng nó hoạt động tốt trên Linux ... – Tommy
Tôi khuyên bạn nên thêm 'linux' vào thẻ của bạn, cùng với bất kỳ shell bạn đang sử dụng. Điều này có thể mời một số giải pháp từ các chuyên gia hệ điều hành. – Iterator
Xin lỗi cho OP và @Gavin, tôi có thể nhầm lẫn: Tôi nghĩ đây rõ ràng hoặc ngầm là Linux, nhưng tôi thấy OP thậm chí không đề cập đến Linux và nó có thể là một hệ điều hành khác cho tất cả những gì tôi biết. – Iterator