Я использую построитель процессов для выполнения нескольких команд оболочки (а не внешнего скрипта оболочки) из Java. Я могу передать переменные системной среды в команду оболочки; Однако, если я хочу передать переменную, определенную в java (например, строку) в качестве аргумента для команды оболочки, как я могу это сделать? Мой код выглядит примерно так. Я хочу, чтобы два файла должны быть созданы (подкрашены) от имени 123 & 234.Как передать переменные из Java в команды оболочки
public class ExecShellCmds {
public static void beginWrite() {
String var1 = "123";
String var2 = "234";
String s = null;
try {
String[] cmd = {"/bin/bash", "-c",
"touch var1;"
+ "touch var2;"
};
Process p = Runtime.getRuntime().exec(cmd);
}}
Посмотрите здесь. Я думаю, что это было бы полезно: [передать переменную в оболочку] (http://stackoverflow.com/questions/23906717/pass-a-variable-from-java-to-a-shell-script) –
Если вы покажете нам, код, который у вас есть, мы можем направлять вас в правильном направлении. –
Я не хочу запускать внешний скрипт, но хотел бы напрямую вызвать несколько команд с помощью в java-коде – Karthik