Я пишу функцию Bash, скажем func() { … }
, которая в интерактивном режиме задает пользователю несколько вопросов, а затем запускает определенную команду.
Призом здесь является stdout
указанной команды, и я ожидаю, что пользователи будут вызывать мою функцию следующим образом: func >outfile
, чтобы записать вывод команды в файл.
Мой вопрос: как мне распечатать эти интерактивные вопросы на stdout
, не загрязняя полезный вывод?
Другими словами: если внутри функции, если stdout
был потенциально перенаправлен вызывающей стороной, как мне записать в «оригинал» stdout
(терминал), временно игнорируя перенаправление вызывающей стороны?
Должен ли я прибегнуть к использованию stderr
для вывода, который семантически не принадлежит ему?