Не використовуйте, cat
як тут згадуються деякі. cat
є програмою в
той час як echo
і printf
є bash (shell) вбудованими. Запуск програми або іншого сценарію (також згаданого вище) означає створити новий процес з усіма витратами. Використання вбудованих функцій запису є досить дешевим, оскільки немає необхідності створювати (виконувати) процес (-оточення).
Опнер запитує "чи є якийсь стандартний інструмент для виведення ( труби ) на stderr", відповідь Щорта: НІ ... чому? ... перенаправлення труб - це елементарна концепція в таких системах, як unix (Linux ...), і bash (sh) будується на цих концепціях.
Я погоджуюся з відкривачем, що перенаправлення з такими позначеннями: &2>1
не дуже приємна для сучасних програмістів, але це бажання. Баш не мав на меті писати величезні та надійні програми, він покликаний допомогти адміністраторам налагодити роботу з меншим натисканням клавіш ;-)
І принаймні, ви можете розмістити перенаправлення будь-де в рядку:
$ echo This message >&2 goes to stderr
This message goes to stderr