[英]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.