2

У меня есть скрипт, который работает (это прекрасно работает).

Я хотел бы создать лог-файлы из его вывода и по-прежнему показывать его на экране. У меня есть эта команда, которая создает три файла из этого блога:

((./fk.sh 2>&1 1>&3 | tee errors.log) 3>&1 1>&2 | tee output.log) 2>&1 | tee final.log

Это именно то, что я хочу.

Моя единственная проблема заключается в том, что я создаю файлы в своем скрипте и копирую их куда-то, и я бы тоже хотел скопировать эти файлы журналов, чего я не могу сделать, пока работает этот скрипт. Я также хотел, чтобы любому пользователю было проще запускать мой сценарий, поэтому я создал другой сценарий для запуска этого сценария. Согласно этому посту (см. Последний пост) я могу поставить . перед именем скрипта, и я могу использовать переменные, назначенные в моем вызываемом скрипте из первого скрипта, если я использую их в первом.

Это, кажется, не работает, и я не могу понять, почему или найти альтернативные методы.

Кто-нибудь может помочь?

2 ответа2

0

Я обнаружил, что с помощью exec я могу добиться того, чего хотел, без необходимости второго скрипта, например:

#!/bin/bash
exec 1>&2-
cmd1
cmd2

Мысль стоит опубликовать на случай, если кто-нибудь натолкнется на этот вопрос!

0

Пожалуйста, ознакомьтесь с решением, представленным по следующей ссылке:
регистрация блоков кода для регистрации файлов в bash @ stackoverflow.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .