Как увеличить DPI для медиаплеера VLC в Cinnamon на дисплее UHD?

Где prependпечатает вывод? В stderrили в stdout? Я думаю, что замена процесса в cmd 2> >(procsub) | ...наследует перенаправление stdout, установленное каналом.

Вам нужно будет сделать что-то подобное, чтобы явно перенаправить вывод команды подстановки процесса на stderrснова:

cmd 2> >(procsub >&2) | pipecmd

или заменить трубу другой заменой процесса:

cmd 2> >(procsub) 1> >(pipecmd)

Последний вариант кажется мне чище, но в этом случае весь результирующий вывод идет вstdout(внешней среды ), и, по крайней мере, мой Bash возвращается к подсказке до завершения замены процесса, поэтому вывод смешивается с подсказкой.

Первый вариант работает:

$ bash someoutput.sh  2> >(sed -e 's/^/ERR:/' >&2)  | sed -e 's/^/OUT:/'
ERR:error message
OUT:normal output

Но помните, что после перенаправления первоначальный порядок вывода ошибки и нормального вывода может не остаться в конце. Мой скрипт выше на самом деле сначала напечатал строку normal output, но иногда сначала появляется строка с ошибкой, как указано выше.

0
14.12.2019, 16:40
0 ответов

Теги

Похожие вопросы