| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > завершение команды system |
| Автор: gcc 16.10.2008, 08:26 |
| есть скрипт с несколькими командами system можно ли узанть как завершилась какая-то команда, "0" (не вреное) или "1" (верно)? прологировать, если ошибка я думал это просто if ($system > 0) { print "ok";} else { >> error.txt;} остановился на том чтобы весь вывод логировать , еще exec должна возвратить ЛОЖЬ, если команда не существет |
| Автор: amg 16.10.2008, 10:24 |
| system возвращает "exit status" исполняемой программы, и, вообще говоря, он может быть любым, в зависимости от программы. Но в первом приближении $system == 0 OK $system > 0 Error $system == -1 Not found (см. $!) Также может оказаться полезным перехватить output программы и проанализировать его. Сейчас заглянул в документацию по system -- там, оказывается, все описано, и даже есть кусок кода, осмысленно анализирующий результат работы этой команды. Нужно было всего лишь заглянуть в документацию... |
| Автор: gcc 16.10.2008, 16:25 | ||
| там не написано было, я подумал что она возращает рузультат... как возвратить результат в переменную?
вывод равняется "0", не могу найти как сделать чтобы вернуть в переменную... |
| Автор: shamber 16.10.2008, 17:09 |
перехватить output программы |
| Автор: gcc 16.10.2008, 18:14 | ||
забыл что в open есть такая опция | |
| Автор: gcc 26.6.2009, 00:00 |
| нужно сделать например: cd /usr/ports/www/www/ && make install open не выполняет это, наверное потому что стоит логическое И system возвращает всегда '0' в любом слачае какие варианты еще отследить вывод программы? |
| Автор: korob2001 29.6.2009, 10:16 |
Модератор: Тема закрыта. Одина тема - один вопрос. gcc, последний пост удалил, из-за большого кол-ва ошибок, мне не удалось понять даже суть вопроса. Создайте отдельную тему и сформулируйте более чётко свой вопрос. |