У меня есть скомпилированная сторонняя программа Java, которая использует Runtime.exec() для создания процесса, но я хотел добавить дополнительные аргументы в процесс, когда процесс начинает использовать псевдоним, но Java Runtime.exec(), похоже, не соблюдает. Я попробовал свою собственную программу, но она все равно не работает, какая-нибудь помощь?
import java.io.*;
public class Exec {
public static void main(String args[]) {
try {
String line;
Process p = Runtime.getRuntime().exec(args[0]);
BufferedReader bri = new BufferedReader
(new InputStreamReader(p.getInputStream()));
BufferedReader bre = new BufferedReader
(new InputStreamReader(p.getErrorStream()));
while ((line = bri.readLine()) != null) {
System.out.println(line);
}
bri.close();
while ((line = bre.readLine()) != null) {
System.out.println(line);
}
bre.close();
p.waitFor();
System.out.println("Done.");
}
catch (Exception err) {
err.printStackTrace();
}
}
}
Вывод:
alias ls='ls -ltr'
java Exec ls
Exec.class
Exec.java
ls
-rw-r--r-- 1 user staff 1216 May 16 09:40 Exec.class
-rw-r--r-- 1 user staff 710 May 16 09:41 Exec.java