> fn bt { > eval '{'for {tail -f $i &} '}' > } > > mimics how I would write it by hand. if that's all you need, then fn bt { for(i){tail -f $i&} } should be just fine. then bt > file might work (if file is append-only, otherwise you'd need a process (e.g. cat) in the middle to avoid overlapping writes) using eval is disastrous... consider what happens if you've got a filename with a shell metacharacter in it.