A input buffered shell