I dug into this a bit deeper. I mailed the bashoids and they claimed that
ls /*/".."
is fixed in bash-2.01. Well, I downloaded it, and they were right. The above is fixed, however, your find pipeline still digs up files for which this does not work, and it is not completely fixed in bash-2.01.
I re-mailed the bashoids, and even ran gdb on bash myself for a bit, but have no immediate fix.
Ken.
David Drum wrote:
Kenneth Whittaker penned:
Woah! I think you just found a bash bug.
Let me try a slight mutation of your script: kenw-sun - 08:57:11 PM - 4 % find * -type f -print | sed -e 's%.*%ls -ldtr "&" .snapshot/*/"&"; echo%' | sh > messed.up.files kenw-sun - 08:57:11 PM - 5 %
Ta da! No errors. It looks like bash has some subtle confusion with expansion of * and quotes. It only happens with a small number of files.
I concur. I am going to install the newest version of bash and see if that fixes the problem. Thank you.
Regards,
David K. Drum david@more.net -- "That man has a rare gift for obfuscation." -- ST:DS9 * "It's hard to be bored when you're as stupid as a line." -- Vernor Vinge * "Reality has a tendency to be so uncomfortably real." -- Neil Peart * "You can only measure the size of your head from the inside." -- Larry Wall