Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> system(). перенаправить вывод 
V
    Опции темы
_hunter
  Дата 22.11.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: нет
Всего: 98



Добрый день.

Подскажите как перенаправить вывод, выдаваемый выполняемой system() командой, в файл.
если делать так:
Код

    my @buildArgs = ("someProgram.exe", "1>>\"$logPath\"");

    system(@buildArgs) == 0
        or die("fail");

-- 1>>... интерпритируется как параметр someProgram.exe :(

С уважением...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
amg
Дата 22.11.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(_hunter @  22.11.2007,  15:13 Найти цитируемый пост)
1>>... интерпритируется как параметр someProgram.exe
Это потому, что system вызвана с несколькими аргументами. В этом случае твоя someProgram.exe вызывается без посредничества шелла, а перенаправление - это функция шелла. Пробуй так:
Код

my $buildArgs = "someProgram.exe 1>> $logPath";
system($buildArgs) == 0  or die("fail");
Ксати, system возвращает не признак успеха/неуспеха выполнения системной команды, а ее код возврата. Он в случае успеха не обязательно 0, хотя обычно так. Это зависит от самой команды.

Можно также перехватить вывод команды в перл, пропарсить (если надо) и перлом добавить его в файл:
Код

@output = `$buildArgs`;
open my $fh,  '>>', $logPath or die "Can't append to $logPath: $!\n";
print $fh @output;
close $fh;


Это сообщение отредактировал(а) amg - 22.11.2007, 15:55
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.