Вся идея этих символов заключается в том, чтобы позволить пользователям вашего приложения перенаправить вывод в нужное место. Это полезно для регистрации, фильтрации и любого числа других приложений, где вы хотите, чтобы выходные данные одной программы были входными данными другой программы или файла. Это облегчает межпроцессное взаимодействие, которое зачастую невозможно в противном случае.
По сути, если вы не можете более четко определить причину , которую вы хотите сделать (в конкретном случае, когда это полезно и желательно), вы не должны пытаться делать это, и я не уверен, что это даже возможно потому что эти символы работают на уровне оболочки. Я не думаю, что в рамках Ruby есть что-то, что вы можете сделать, что будет иметь какое-либо влияние на то, куда идет вывод. Оболочка (после того, как она уже вышла из вашей программы Ruby) захватывает этот вывод и перенаправляет его. К этому моменту эти данные / выходные данные уже не контролируются вашим приложением Ruby.