The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
статус завершения команды в трубопровод topcat8 UNIX для чайников Вопросы И Ответы 10 10-19-2007 05:39 AM
Где я могу найти список кодов выхода? (Выход код 64) jkuchar747 UNIX для чайников Вопросы И Ответы 3 12-07-2004 06:08 PM
Переместите команда вернется с выезда код 2 handak9 UNIX перспективных И опытных пользователей 1 08-26-2004 06:40 AM
Выход кодекса в HP-UX KSH. MBB Программирования высокого уровня 3 03-15-2002 09:44 AM
Все о выезде код cdin2 Shell программирование и сценарии 2 03-11-2002 10:03 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 01-09-2008
pankai pankai is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 14
Как получить код выхода в трубе облицовка команды?

У меня есть вопрос о том, как получить код выхода из первой команды, когда она появляется в трубе облицовка команды.
Например, я на следующий сценарий:

grep ABC DDDD | Tee-журнал
если [[$? NE-0]]
тогда
Эхо "ERROR!"
FI

В приведенном выше сценарий, [[$? NE-0]] предполагается проверить выход кодекс "grep ABC DDDD". Но, поскольку он находится в трубопроводе, то $? фактически сохраняет код выхода из "Ти-журнал". Таким образом, [[$? NE-0]] это всегда ложь.

Как решить эту проблему?

Спасибо.
Old 01-09-2008
pankai pankai is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 14
Цитата:
Первоначально Послано pankai View Post
У меня есть вопрос о том, как получить код выхода из первой команды, когда она появляется в трубе облицовка команды.
Например, я на следующий сценарий:

grep ABC DDDD | Tee-журнал
если [[$? NE-0]]
тогда
Эхо "ERROR!"
FI

В приведенном выше сценарий, [[$? NE-0]] предполагается проверить выход кодекс "grep ABC DDDD". Но, поскольку он находится в трубопроводе, то $? фактически сохраняет код выхода из "Ти-журнал". Таким образом, [[$? NE-0]] это всегда ложь.

Как решить эту проблему?

Спасибо.
Я сделал некоторые исследования я. Я повернулся, что мы можем получить статус кода для каждой команды в трубопровод от $ PIPESTATUS массива.
Old 01-10-2008
V3l0 V3l0 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Место проведения: Бельгия И Франция
Сообщений: 70

Код:
res=$(grep abc dddd)

if [[ $? -ne 0 ]]
then
      echo "ERROR!"
else
      echo $res >> log
fi

Old 01-10-2008
Shamrock shamrock is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Место проведения: США
Сообщений: 753
Цитата:
Первоначально Послано pankai View Post
У меня есть вопрос о том, как получить код выхода из первой команды, когда она появляется в трубе облицовка команды.
Например, я на следующий сценарий:

grep ABC DDDD | Tee-журнал
если [[$? NE-0]]
тогда
Эхо "ERROR!"
FI

В приведенном выше сценарий, [[$? NE-0]] предполагается проверить выход кодекс "grep ABC DDDD". Но, поскольку он находится в трубопроводе, то $? фактически сохраняет код выхода из "Ти-журнал". Таким образом, [[$? NE-0]] это всегда ложь.

Как решить эту проблему?

Спасибо.
Вы можете проверить размер в лог-файл до и после того, как вы grep за строкой. Таким образом, если размер лог-файл остается в том же тогда вы знаете grep провалились.
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 04:35 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0