crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в [bash] Проверка выполнения команды и перенаправление вывода
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
igor_bogomolov Дата 9.9.2011, 14:05
  Спасибо, то что надо!
Sokoloff Дата 9.9.2011, 13:59
  В свое время сталкивался точно с такой проблемой. Вот здесь несколько решений.
igor_bogomolov Дата 9.9.2011, 13:07
  Задача следующая, мне нужно проверять результат выполнения команд, при этом записывать их вывод одновременно и на консоль и в файл.

К примеру, следующий код записывает вывод команды в лог-файл и проверяет результат её выполнения, но не печатает ничего на консоль
Раскрывающийся текст
check_success() {                                                                                                                                                                                                    
   if [ $? -ne 0 ]                                                                                                                                                                                                  
   then                                                                                                                                                                                                              
      exit 1                                                                                                                                                                                                        
   fi                                                                                                                                                                                                                
}                                                                                                                                                                                                                    
                                                                                                                                                                                                                    
BUILD_LOG=/tmp/build.log

tar xjf xyz.tar.bz >> $BUILD_LOG 2>&1
check_success
Если изменить как написано ниже, то вывод команды будет писаться и на консоль и в файл, но я уже не могу проверить корректность ее завершения (т.к. проверяется уже не команда tar, а tee которая всегда завершается корректно, да и меня совершенно не интересует)
tar xjf xyz.tar.bz  2>&1 | tee $BUILD_LOG
check_success


Как быть?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 30.4.2024, 15:00