Here's a bug I just discovered in GNU Bash. It's in this version: GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc. I make two files of one character each: $ echo A > foo $ echo B > bar This works as expected: $ echo -e 'C\nD' | paste <(cat foo bar) - A C B D This should do the same thing but it fails: $ echo -e 'C\nD' | paste <(cat ./{foo,bar}) - A B C D That's pretty bad! I have to be careful. Strangely, it's all about the use of "<()" for process substitution because this behaves normally: $ cat ./{foo,bar} A B This newer version of Bash does not have the same problem: GNU bash, version 4.0.33(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc. Unfortunately, our rocks cluster built on CentOS is using the old version of Bash. Another University machine is running this old version and it also has the bug: GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu) Copyright (C) 2002 Free Software Foundation, Inc. So my own boxes are OK, all using Bash 4 and Ubuntu, but I can't upgrade Bash on these other machines without requesting help. Mike