LINUX.ORG.RU

[sh] Насильно отправить выхлоп скрипта в файл.


0

2

Возникла у меня проблема при обновлении:

Подготовка к замене пакета libc6 2.13-21 (используется файл .../libc6_2.13-24_i386.deb) ...
dpkg: не удалось обработать параметр /var/cache/apt/archives/libc6_2.13-24_i386.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
configured to not write apport reports
                                      При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.13-24_i386.deb

Этот самый скрипт pre-installation удалось найти благодаря AITap, однако в стерильных лабораторных условиях скрипт вёл себя спокойно и завершался с нулём.

Внимание вопрос, как можно модифицировать сам скрипт, чтобы весь вывод шёл в файл?

Попроще, чем дописывать к каждой команде >> out.txt. Что-нибудь типа #!/bin/sh -o out.txt?

★★

Попробуй как в батниках -

 { %какой_то_код% } >> out.txt 

Deleted ()

дописывать к каждой команде >> out.txt

пачку команд засунуть в скрипт, а сам скрипт запустить с «>>». не?

Rastafarra ★★★★ ()
#!/bin/bash
(
  some
  commands
) >> log

bash 1.bash >> log

bash 1.bash | tee log

Tanger ★★★★★ ()

function output2log {
  exec 4>&1
  exec &>> $LOG
}

function restore_output {
  exec 1>&4 4>&-
}

DELIRIUM ☆☆☆☆☆ ()

А из stdin вводить требуется что-то в нем?

Dymonix ()
Ответ на: комментарий от Dymonix

Нет, не требуется. Вся проблема и была в том, что неизвестно куда этот скрипт выводил данные.

ZhAN ★★ ()
Ответ на: комментарий от ZhAN

просто есть как бы nohup для целей сохранения output в файл. Не помню, что делал, но память о нем сохранилась.

Dymonix ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.