SourceForge.net Logo Support This Project

About the name

Pash = Posh (PowerShell) + bash(one of the Unix shells)

Goals

The main goal is to provide a rich shell environment for other operating systems as well as to provide a hostable scripting engine for rich applications. The user experience should be seamless for people who are used to Windows version of PowerShell. The scrips, cmdlets and providers should runs AS-IS (if they are not using Windows-specific functionality). The rich applications that host PowerShell should run on any other operating system AS-IS. Secondary goal: the scripts should run across the machines and different OS's seamlesly (but following all the security guidelines).

Environment

The current implementation of Pash is written using pure .Net 2.0. It compiles on VS 2008 as well as on Mono. So all the developers can choose the environment that fits their needs and preferences. The produced assemblies can be executed "right out of the box" on Windows, Linux, Mac (or others) without any additional recompilation. Note: for Windows Mobile and Windows CE the produced code should be recompiled against the .NET Compact Framework.

Progress

You're welcome to get the source code and contribute to the Pash public effort @ http://sourceforge.net/projects/pash.

source code here

~50% of public PowerShell classes defined.

~40% of framework functionality operational.

Stay tuned for more detailed info. Trying to figure out how to produce the similar class diff that Mono project is using.

Grammar

It's a pretty challenging to defined the grammar correctly since there is no publicly available complete grammar description. The only more-or-less complete PoSH grammar description can be find in the Appendix C of the "Power Shell in Action".

See the current status of the rules implementation.

Screenshots

Windows (duh !..)

Pash on Mono + SuSE Linux

Pash on Compact .NET Framework

and (drum roll ...) Pash on Mac