No lo use, cat
ya que algunos se mencionan aquí. cat
es un programa
while echo
y printf
son bash (shell) integradas. Lanzar un programa u otro script (también mencionado anteriormente) significa crear un nuevo proceso con todos sus costos. Usando las funciones integradas, las funciones de escritura son bastante baratas, porque no hay necesidad de crear (ejecutar) un proceso (entorno).
El operador pregunta "¿hay alguna herramienta estándar para enviar ( tubería ) a stderr", la respuesta corta es: NO ... ¿por qué? ... redirigir tuberías es un concepto elemental en sistemas como unix (Linux ...) y bash (sh) se basa en estos conceptos.
Estoy de acuerdo con el abridor de que la redirección con anotaciones como esta: &2>1
no es muy agradable para los programadores modernos, pero eso es bash. Bash no estaba destinado a escribir programas grandes y robustos, está destinado a ayudar a los administradores a llegar a trabajar con menos pulsaciones de teclas ;-)
Y al menos, puede colocar la redirección en cualquier lugar de la línea:
$ echo This message >&2 goes to stderr
This message goes to stderr