Я не знаю, как изменить stdin, но это сделает stdout зеленым и stderr красным:
exec 1>>(while read line; do
print '\e[92m'${(q)line}'\e[0m' > /dev/tty; print -n $'\0'; done &)
exec 2>>(while read line; do
print '\e[91m'${(q)line}'\e[0m' > /dev/tty; print -n $'\0'; done &)
1 выше относится к stdout (exec 1>>
...), а 2относится к stderr.0 будет для стандартного ввода, но приведенные выше строки, похоже, ничего не сделают, если вы начнете их с exec 0>>
.
Полагаю, если вы хотите изменить стандартный ввод, вы можете изменить цвет своего терминала на любой другойхотите использовать для stdin, а затем использовать что-то вроде вышеупомянутых команд, чтобы изменить stderr и stdout на что-то другое ...