Скопируйте stderr и stdout в файл, а также экран в ksh
Я ищу решение (похожее на код bash ниже) для копирования как stdout, так и stderr в файл в дополнение к экрану в ksh в Solaris.
Следующий код прекрасно работает в оболочке bash:
#!/usr/bin/bash
# Clear the logfile
>logfile.txt
# Redirect all script output to a logfile as well as their normal locations
exec > >(tee -a logfile.txt)
exec 2> >(tee -a logfile.txt >&2)
date
ls -l /non-existent/path
По какой-то причине это вызывает синтаксическую ошибку в Solaris. Я предполагаю, что это потому, что я не могу выполнить замену процесса, и я видел некоторые сообщения, предлагающие использованиеmkfifo
, но я еще не нашел рабочего решения.
Кто-нибудь знает способ, которым все выходные данные могут быть перенаправлены в файл в дополнение к местоположениям по умолчанию?