The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как получить значение возвращенное выполненной внешней коман..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Как получить значение возвращенное выполненной внешней коман..."  +/
Сообщение от billybons2006аноним email on 15-Июн-10, 12:24 
Описание проблемы: программа "imapsync" предназначена для копирования почтовых ящиков по протоколу IMAP. После выполнения (удачного или нет) команда возвращает определенное значение (0 - все ОК, что-либо иное - проблема). Как мне в коде скрипта perl получить значение, возвращаемое выполненной командой "imapsync -v" (ключ -v в данном случае просто выводит версию программы, это я для тренировки).

Пример:

#!/usr/bin/perl

$filename="emails.txt";

open(FILE,"<",$filename) || die "$!\n";# открываем файл для чтения
while(<FILE>) {         # считываем построчно
       @F = split;     # выделяем столбцы (разделены табуляцией)
       @L = split('@', $F[0]);
       print "$L[0] - $F[1]\n"; # печатаем в формате "имя_ящика - пароль"
       system("imapsync -v"); # как узнать значение, возвращаемое программой imapsync?
}
close(FILE);

Господа perlovod'ы, я понимаю, что выше приведенный код - надругательство над возможностями perl! Но я не знаю этого языка, поэтому для себя составил код "по полочкам".

На shell нечто вроде того, что нужно, выглядит так:
#!/bin/sh

exec < emails.txt     # open for read

while read string
do
        printf "$string\n"
        result=`imapsync -v`
        echo $result
        if [ $? ]
        then
                printf "Returned value is $?.\n"
        fi
done

exit 0

А как сделать на perl - не знаю.

Система CentOS.

Очень надеюсь на совет! Кстати, результат я выложу для упрощения жизни таким, как я, на страницу обсуждения http://www.iredmail.org/forum/post4247.html

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как получить значение возвращенное выполненной внешней коман..."  +/
Сообщение от phpcoder email(ok) on 15-Июн-10, 12:29 
http://www.lmgtfy.com/?q=perl+get+process+return+code

Пробовать переменную $? пробовали?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как получить значение возвращенное выполненной внешней коман..."  +/
Сообщение от billybons2006аноним email on 15-Июн-10, 12:44 
>http://www.lmgtfy.com/?q=perl+get+process+return+code
>Пробовать переменную $? пробовали?

Нет, не пробовал. Сейчас посмотрю. Спасибо! Думаю это именно то, что мне нужно.

PS: Странно, что мне не удается авторизоваться на форуме, анонимусом хожу :(

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как получить значение возвращенное выполненной внешней коман..."  +/
Сообщение от billybons2006аноним email on 15-Июн-10, 13:44 
Как раз переменная $? есть то, что я искал. Спасибо!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру