Просто ради хорошей практики:
Variables hold data. Functions hold code. Don't put code inside variables!
См. вики-шерсть
Поскольку вы перенаправляете на файл
echo '/dev/stdout' > /dev/stdout
echo '/dev/stderr' > /dev/stderr
перезапишет (, а не добавит к )файл. Вы не замечаете этого, когда не перенаправляете, потому что вы можете добавлять только к stdout/stderr.
Заменить на
echo '/dev/stdout' >> /dev/stdout
echo '/dev/stderr' >> /dev/stderr
и все вернулось в норму.