Я знаю, что могу сохранить вывод в переменную и , затем распечатать его:
VAR=$(command)
echo "$VAR"
Но у этого есть ряд недостатков:
- Я не буду видеть ход выполнения команды.
- В частности, все выходные данные
stdout
будут видны после всех выходных данных stderr
, что затруднит их сопоставление.
- Так как это приведет к отсутствию вывода на время работы команды, в некоторых средах (например, Travis CI) это завершит работу, если команда будет работать достаточно долго.
Итак, как мне сохранить вывод, а также увидеть его вживую на консоли?
- Портативные решения предпочтительнее, хотя в Linux / MacOS-а они подойдут в крайнем случае.
- Решение не должно иметь нежелательных побочных эффектов в режиме
errexit