use plyplus parse input instead of split and execute them directly.

pipe is supported now, but only for standalone execute files, not bulit-in commands and python scripts.