powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по Runtime.exec
7 сообщений из 7, страница 1 из 1
вопрос по Runtime.exec
    #33492919
Igor65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Unix
Похоже, я где-то туплю.

Задача : одним вызовом exec выполнить 2 команды
Например: echo a1aa; echo b2bb;

это возможно ?
как только подаю на вход не одну команду, а массив, то получаю:
Код: plaintext
1.
2.
3.
4.
5.
java.io.IOException: java.io.IOException: /bin/echo a1aa: not found
        at java.lang.UNIXProcess.<init>(UNIXProcess.java: 148 )
        at java.lang.ProcessImpl.start(ProcessImpl.java: 65 )
        at java.lang.ProcessBuilder.start(ProcessBuilder.java: 451 )
        at comst.mntrg.server.CrontabReader.main(CrontabReader.java: 222 )
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33492933
Igor65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
        String cmdarr[] =  new  String[ 2 ];
        cmdarr[ 0 ] = "echo a1aa;";
        cmdarr[ 1 ] = "echo b2bb;";
        
        Process process = Runtime.getRuntime().exec(cmdarr);
так, получаю ошибку:
Код: plaintext
1.
2.
3.
4.
5.
java.io.IOException: java.io.IOException: /bin/echo a1aa: not found
        at java.lang.UNIXProcess.<init>(UNIXProcess.java: 148 )
        at java.lang.ProcessImpl.start(ProcessImpl.java: 65 )
        at java.lang.ProcessBuilder.start(ProcessBuilder.java: 451 )
        at comst.mntrg.server.CrontabReader.main(CrontabReader.java: 222 )

Если так:
Код: plaintext
1.
2.
        String cmd = echo a1aa;echo b2bb;"
        Process process = Runtime.getRuntime().exec(cmd);
то, вполне закономерно получаю "a1aa;echo b2bb;" как результат...

но требуемый результат:
Код: plaintext
1.
2.
    a1aa
    b2bb
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33492938
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor65 wrote:
> Unix
> Похоже, я где-то туплю.
>
> Задача : одним вызовом exec выполнить 2 команды
> Например: echo a1aa; echo b2bb;
>
> это возможно ?

Сделай какой-нибудь StringTokenizer, и по циклу из его элементов вызывай Runtime.getRuntime().exec();
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33492941
Igor65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это то понятно.
но мне нужно именно в одном процессе
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33492944
Igor65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариант с созданием внешнего исполняемого скрипта тоже понятен.
вопрос именно в том, можно ли обойтись без внешних..
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33493877
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если взять в обратных кавычках?
...
Рейтинг: 0 / 0
вопрос по Runtime.exec
    #33494947
Igor65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
String[] exe =  new  String[] {
                "/bin/sh",
                "-c",
                "echo aaaa; echo bbbb"
        };
         try  {
            Process process = Runtime.getRuntime().exec(exe);
            InputStream is = process.getInputStream();
            BufferedReader br =  null ;
            br =  new  BufferedReader( new  InputStreamReader(is));
            String str= null ;
             while  ((str = br.readLine())!= null ) {
                System.out.println(str);
            }

вот так работает
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по Runtime.exec
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]