Javanicus has created grash which is a shell using Java objects which supports piping, redirection and scripting nicely using Groovy under the covers.
I wonder how easily it'd be to add support for the file system. I guess
given that these days we have files, URLs, HTTP / WS stuff, databases,
JMX and all these different kinds of resource; a shell should not be
too file centric any more but rather be based on dynamically typed
objects with lots of helper methods and syntax sugar to make working
with any kind of resource really simple.
Though a cynic could argue another way to do this it to make everything look like a file system like Unix does :).