IgorShare Weblog

Practical Engineering

Pash – cross platform PowerShell is out in the wild! Announcement.

Posted by igormoochnick on 04/06/2008

Pash – http://pash.sourceforge.net/

PowerShell open source reimplementation for “others” (Mac, Linux, Solaris, etc…) and Windows (including Windows Mobile and Windows CE)

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.

~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.

Screenshots

Windows (duh !..)

Pash on Mono + SuSE Linux

Pash on Compact .NET Framework

and (drum roll …) Pash on Mac


39 Responses to “Pash – cross platform PowerShell is out in the wild! Announcement.”

  1. Tom Humes said

    Nice Site layout for your blog. I am looking forward to reading more from you.

    Tom Humes

  2. Fantastic!

  3. [...] Source PowerShell Implementation by Igor Moochnick currently runs on Linux, MacOS, WindowsCE and [...]

  4. [...] tells us of pash. I was interested in this back when it was called Monad Shell, but never really got into it. The [...]

  5. Wesley Parish said

    What I’m wondering is how useful this is going to be to manage Windows desktops from the Linux commandline. I guess that that would depend on the network infrastructure.

    I guess I can always test it at home: when I find it working to my satisfaction, I can try it out at work.

    Anyway, thanks!

  6. Jeffrey Snover said

    I can’t tell you how many customers have been asking for this.
    I think it will be quite popular.
    We should figure out how to make sure that you are totally in synch with PS so that we don’t drive customers crazy.

    Jeffrey Snover [MSFT]
    Windows Management Partner Architect
    Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell
    Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

  7. [...] zrzutów na http://pash.sourceforge.net/ ; .. oraz na blogu jednego z twórców: http://igorshare.wordpress.com/2008/04/06/pash-cross-platform-powershell-is-out-in-the-wild-announce... Jak dla mnie bomba. Technorati Tagi: Polish posts,internet,Powershell,geeks Posted: Tuesday, [...]

  8. [...] Confira os screenshots do mesmo rodando em Windows, Linux, Windows Mobile e MacOS em: http://igorshare.wordpress.com/2008/04/06/pash-cross-platform-powershell-is-out-in-the-wild-announce... [...]

  9. [...] Moochnick announced the first release of PASH, an open source implementation of PowerShell.  (I tripled check the date on his blog to make [...]

  10. [...] parecerem santinhas) que neste fim de semana no Code Camp em Waltham, Igor Moochnick anunciou o lançamento do Pash, uma implementação em código aberto do PowerShell que roda em Linux, MacOS, WindowsCE e [...]

  11. Great!! I teach a PowerShell course and I’ll definitely tell my attendees about your site. Best of luck!

  12. Andy said

    can’t wait to run this on my mac at home! This is awesome!

  13. [...] Posted on April 8, 2008 by Andy I am really looking forward to coming home and trying this out on my Mac. Igor  Moochnick has built Pash (Posh + Bash).  I can’t wait to check [...]

  14. timetrap said

    What do you need help with?

  15. n4cer said

    From the screenshot, there seems to be a bug on the Mac.

    Check the line:
    11..14

    It should output 11 12 13 14, but instead shows 17 18 19 20.

  16. PowerShell for other platforms…

    I love PowerShell (PoSh). It gives me (most of) the power of Perl, plus the DotNet framework(library), plus easy discoverability and debugging since all variables in PowerShell are objects with properties and methods.
    Now PowerShell is available for M…

  17. anne O'nime said

    nobody noticed the buggy screenshot ?

    11..14
    17
    18
    19
    20

  18. way to go, i’ve been looking forward to seeing this come out in the wild. It seems like you got alot of press in a few days , Congrats

  19. [...] pmFiled under: PowerShell  3 Views Igor Moochnick announced the first release of PASH, an open source implementation of PowerShell.  (I tripled check the date on his blog to make [...]

  20. Alex said

    Did anyone see Grash? It’s pretty much power shell on JVM using the Groovy scripting language. Quite neat but development seems to have long stalled.

  21. Thanks for noticing the bug in Mac. You’re welcome to open your first bug in SourceForge for Pash project.

  22. Richard said

    Brilliant. This is going to be big

  23. [...] source de PowerShell, para que podamos usarla en Linux, MacOS X y hasta en Windows Mobile, en su blog se pueden ver algunas screenshots con ejemplos de Pash corriendo en varios [...]

  24. [...] source de PowerShell, para que podamos usarla en Linux, MacOS X y hasta en Windows Mobile, en su blog se pueden ver algunas screenshots con ejemplos de Pash corriendo en varios [...]

  25. Bruce said

    There has been a lot of talk at the SharpOS project on wanting Powershell, but all of us being much to busy to start yet another side-project. (And Powershell is a beast all on its own!)

    And it appears that someone not only has done it, but is doing it well. I can’t wait to try it out on my Linux VM, and I’m even more excited at the possibilities of integrating it into our 100% C# OS, down the road.

    Very cool!

  26. [...] knew it would happen sooner rather than later: there is now an open source reimplementation of Microsoft PowerShell that will run on all the “other” platforms.  If you haven’t played with [...]

  27. [...] http://igorshare.wordpress.com/2008/04/06/pash-cross-platform-powershell-is-out-in-the-wild-announce... [...]

  28. [...] weekend ath the Code Camp in Waltham, Igor Moochnick announced the release of pash his open source power shell implementation. It currently runs on Linux, MacOS, WindowsCE and [...]

  29. [...] just found out there’s a project called Pash to create an open source, cross platform version of Microsoft’s PowerShell. That should be [...]

  30. [...] Source PowerShell Implementation by Igor Moochnick currently runs on Linux, MacOS, WindowsCE and [...]

  31. my use net said

    [...] implementation of Pash is written using pure .Net 2.0. It compiles on VS 2008 as well as on Mono.http://igorshare.wordpress.com/2008/04/06/pash-cross-platform-powershell-is-out-in-the-wild-announce…Prostate Cancer My USENET post to alt.support.cancer.prostateMy USENET post to [...]

  32. Lior said

    Will it run on iPhone?
    Since OsX is supported, it begs the question.

  33. According to Miguel, Mono now runs on iPhone – so Pash should run with no change. As soon as I’ll lay my hands on iPhone with Mono – I’ll give it a try.

  34. [...] weekend at the Code Camp in Waltham, Igor Moochnick announced the release of pash his open source power shell implementation. It currently runs on Linux, MacOS, WindowsCE and [...]

  35. Congrats…The re-implementation of Posh as Pash is fantastic. looking forward more dev on this.

  36. Vladekk said

    Project is dead?
    It don’t even allows simple “ls” on linux in current state and last change was 7 months ago.

  37. The project is not really dead. It moves forward with a very slow speed, mainly because there is almost to none interest in the project from the community (both M$ and Mono). I’ve received a couple of initial requests to join, but the people have disappeared.

    P.S. Actually “ls” is working – check the config file for correct aliases.

  38. Vladekk said


    The project is not really dead. It moves forward with a very slow speed, mainly because there is almost to none interest in the project from the community (both M$ and Mono). I’ve received a couple of initial requests to join, but the people have disappeared.

    That’s sad. But if situation is such, I agree you should apply your skills where they will be needed and used more.

    As for “ls” – I can’t change directory with “cd”. Prompt changes as if was changed, but nothing else happens – ls or Get-ChildItem always outputs nothing.

    get-psdrive outputs
    Microsoft.PowerShell.Core\Alias -> Alias
    Microsoft.PowerShell.Core\FileSystem -> /sys
    Microsoft.PowerShell.Core\FileSystem -> /proc
    Microsoft.PowerShell.Core\FileSystem -> /dev
    Microsoft.PowerShell.Core\FileSystem -> /
    Microsoft.PowerShell.Core\FileSystem -> /dev/.static/dev
    Microsoft.PowerShell.Core\FileSystem -> /lib/init/rw
    Microsoft.PowerShell.Core\FileSystem -> /proc/bus/usb
    Microsoft.PowerShell.Core\FileSystem -> /dev/shm
    Microsoft.PowerShell.Core\FileSystem -> /dev/pts
    Microsoft.PowerShell.Core\FileSystem -> /var
    Microsoft.PowerShell.Core\FileSystem -> /home
    Microsoft.PowerShell.Core\FileSystem -> /var/lib/mysql
    Microsoft.PowerShell.Core\FileSystem -> /mnt/sdd
    Microsoft.PowerShell.Core\FileSystem -> /mnt/sdb
    Microsoft.PowerShell.Core\FileSystem -> /home/vladekk/hdd
    Microsoft.PowerShell.Core\FileSystem -> /home/backup
    Microsoft.PowerShell.Core\FileSystem -> /proc/fs/nfsd
    Microsoft.PowerShell.Core\FileSystem -> /home/export
    Microsoft.PowerShell.Core\FileSystem -> /data
    Microsoft.PowerShell.Core\Variable -> Variable
    Microsoft.PowerShell.Core\Environment -> Env
    Microsoft.PowerShell.Core\Function -> Function

  39. [...] Pash – cross platform PowerShell is out in the wild! Announcement. « IgorShare Weblog PowerShell open source reimplementation for “others” (Mac, Linux, Solaris, etc…) and Windows (including Windows Mobile and Windows CE) (tags: opensource linux programming shell windows microsoft tools unix) [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>