簡體   English   中英

如何使用Java重定向Shell腳本的輸出?

[英]How do I redirect output of a shell script using Java?

我正在嘗試使用Java在Linux(Ubuntu)中執行Shell腳本,並試圖將輸出重定向到另一個文件。

String cmd[] = {"sh", "-c", "my_dir/script.sh > new_dir/out.txt"};
Process pb = Runtime.getRuntime().exec(cmd);

但是,這使我們無法正常工作。 我無法將輸出存儲在out.txt文件中。 有人可以建議一種正確執行此操作的方法嗎?

使用ProcessBuilder 我認為不需要生成額外的sh 就像是,

ProcessBuilder pb = new ProcessBuilder("my_dir/script.sh");
pb.redirectOutput(new File("new_dir/out.txt"));
Process p = pb.start();

應該是您所需要的。

這對我有用。 使用Runtime.exec()

    Process p = Runtime.getRuntime().exec("my_dir/script.sh > new_dir/out.txt");
    // Wait for execution completion 
    p.waitFor();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM