The OpenNET Project / Index page

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

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

"Как вернуть результат выплнения внешней команды ?" 
Сообщение от dmitri emailИскать по авторуВ закладки(??) on 29-Окт-05, 17:58  (MSK)
Озадачился недавно написанием скрипта чтобы он определял был ли изменен конфиг и если да то перезапускал апач, но надо бы проверить ситаксис конфига  
перед запуском делаю следующее:
#!/usr/bin/perl
my $output = system "/usr/local/sbin/apachectl -t";
print $output;

казалось чего проще но $output - пустая ничего нет, подскажите как это реализовать.

P.S. pliz подкажите

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

 Оглавление

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

1. "Как вернуть результат выплнения внешней команды ?" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 29-Окт-05, 18:33  (MSK)
>Озадачился недавно написанием скрипта чтобы он определял был ли изменен конфиг и
>если да то перезапускал апач, но надо бы проверить ситаксис конфига
>
>перед запуском делаю следующее:
>#!/usr/bin/perl
>my $output = system "/usr/local/sbin/apachectl -t";
>print $output;
>
>казалось чего проще но $output - пустая ничего нет, подскажите как это
>реализовать.
>
>P.S. pliz подкажите

system  отдает код возврата программы.
чтобы получить результат работы, надо использовать обратные кавычки.
my $output = `/usr/local/sbin/apachectl -t`;

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

2. "Как вернуть результат выплнения внешней команды ?" 
Сообщение от dmitri emailИскать по авторуВ закладки(??) on 29-Окт-05, 19:50  (MSK)
>system  отдает код возврата программы.
>чтобы получить результат работы, надо использовать обратные кавычки.
>my $output = `/usr/local/sbin/apachectl -t`;

Да, если использовать другю команду, т.е. не apachectl, а что нибудь типа ls, но в случае с apachectl результат не возвращятся (если не верите попробуйте сами). Можно даже так:

host#/usr/local/sbin/apachectl -t >> /tmp/apache_result.txt,
host#ls -l /tmp/apache_result.txt
-rw-r--r--  1 root  root     0 Oct 29 19:46 apache_result.txt

т.е. не получается даже вывод перенаправить в файл, или я что-то не правильно делаю.

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

3. "Как вернуть результат выплнения внешней команды ?" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 29-Окт-05, 22:30  (MSK)
>>system  отдает код возврата программы.
>>чтобы получить результат работы, надо использовать обратные кавычки.
>>my $output = `/usr/local/sbin/apachectl -t`;
>
>Да, если использовать другю команду, т.е. не apachectl, а что нибудь типа
>ls, но в случае с apachectl результат не возвращятся (если не
>верите попробуйте сами). Можно даже так:
>
>host#/usr/local/sbin/apachectl -t >> /tmp/apache_result.txt,
>host#ls -l /tmp/apache_result.txt
>-rw-r--r--  1 root  root     0 Oct
>29 19:46 apache_result.txt
>
>т.е. не получается даже вывод перенаправить в файл, или я что-то не
>правильно делаю.

Ну, раз он не выводит в stdout, значит - в stderr
my $output = `/usr/local/sbin/apachectl -t 2>&1`;

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

4. "Как вернуть результат выплнения внешней команды ?" 
Сообщение от dmitri emailИскать по авторуВ закладки(??) on 30-Окт-05, 00:10  (MSK)
>Ну, раз он не выводит в stdout, значит - в stderr
>my $output = `/usr/local/sbin/apachectl -t 2>&1`;

Огромное спасибо все работает.

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


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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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