LINUX.ORG.RU

Как для «tar -czf archive.tar.gz /folder_name/» получить результат выполнения?

 , ,


0

2

Здравствуйте.

Возникла надобность заархивировать папку с файлами архиватором tar посредством sh-скрипта.

В зависимости от успешности/неуспешности архивирования должен отработать тот или иной кусок кода sh-скрипта.

Как получить ответ от архиватора? Или что посмотреть/почитать по этой тематике?

Владимир.


опция -v будет выводить сообщения результата архивирования в stdout, а ошибки — они в любом случае выводятся, в strerr.

результат выполнения команды в переменной $?. результат выполнения «0» — это всегда успешно.

tar ...

if [ "$?" = "0" ]; then
  echo успех
else
  echo ошибка
fi

перенаправлять ошибки можно так: [c]tar 2>error.log[/c]

Spoofing ★★★★★
()
  • tar -cjf archive.tar.gz /folder_name/ && {
        # успех
    } || {
        # неуспех
    }
    
  • if tar -cjf archive.tar.gz /folder_name/; then
        # успех
    else
        # неуспех
    fi
    
  • tar -cjf archive.tar.gz /folder_name/
    
    if ! (( $? )); then
        # успех
    else
        # неуспех
    fi
    
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.