Everybody's seen redirection in bash commands, that's pretty common, but bash also allows you to define redirections when you define functions. This causes the redirections to be evaluated/executed whenever the function is called. This feature doesn't really give you any new features, just another way to express existing features.
The syntax for this is simple, you simply append the redirections onto the end of the function defintion:
} < testy.in > testy.out 2> testy.err
Now whenever the function testy is called its input will come from testy.in, its output will go to testy.out and any errors will go to testy.err.
Article Source Linux Journal
October 6, 2009, 10:22 am