IgorShare Thoughts and Ideas

Consulting and Training

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

Posted by Igor Moochnick 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


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

  1. Fantastic!

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

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

  4. 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!

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

  6. […] zrzutów na http://pash.sourceforge.net/  .. oraz na blogu jednego z twórców: https://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, […]

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

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

  9. […] 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 […]

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

  11. Andy said

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

  12. […] 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 […]

  13. timetrap said

    What do you need help with?

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

    • anonymous said

      Have you considered what 11 and 14 respectively is in hexidecimal?

      11h = 17d and 14h = 20d so 11..14 (hex) will return 17, 18, 19 and 20 (decimal) as shown in the screenshot.

      One could argue that if input is in hexidecimal output should also be in hexidecimal unless something else is stated.

  15. 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…

  16. anne O'nime said

    nobody noticed the buggy screenshot ?

    11..14
    17
    18
    19
    20

    • anonymous said

      Have you considered what 11 and 14 respectively is in hexidecimal? 11h = 17d and 14h = 20d so 11..14 (hex) will return 17, 18, 19 and 20 (decimal) as shown in the screenshot. One could argue that if input is in hexidecimal output should also be in hexidecimal unless something else is stated.

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

  18. […] 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 […]

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

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

  21. Richard said

    Brilliant. This is going to be big

  22. […] 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 […]

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

  25. […] 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 […]

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

  27. […] 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 […]

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

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

  30. my use net said

    […] implementation of Pash is written using pure .Net 2.0. It compiles on VS 2008 as well as on Mono.https://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 […]

  31. Lior said

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

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

  33. […] 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 […]

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

  35. Vladekk said

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

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

    • FromTheDeepNet said

      This is an exciting idea, but letting it get released as version “1.1” when ls / Get-ChildItem isn’t even working is extremely frustrating and obviously a bit premature. Hit-the-marketing-deadlines-and-fix-it-after-it-ships is supposed to be the Microsoft / proprietary way, not the open source way.

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

  38. […] 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) […]

  39. Tom said

    Great, ive tried it on xp and vista and I love PowerShell.
    But on linux… Wow! I guess your Pash-ionate about IT Pros huh 😉
    Tom

  40. vbman09 said

    I hope you will continue the project – its definitely worth. The Mono Community is probably to small to notice or not too much interested in admin stuff or in another interpreted language. And for most Windows admins cross plattfom is either not an issue or they already use Bash, Perl etc. May be you should move the project to CodePlex (I’ll doubt you get any Linux dev do some work on another scripting language for Linux – or join Karl Prosser and bring a “moveable PowerShell” to a new level;).

    Victor

  41. Victor said

    Could you please write a few words about how to compile the sources? I want to compile the project with Mono Develop 2.0 but it looks like a Gold Parser-Library is missing? Could please provide a link to the downloadsite of this library.

    Victor

  42. dimir said

    Hi,

    I was able to compile the Pash.exe using monodevelop (clicked Build all). Went to Pash/PashConsole/bin/Debug and ran Pash.exe, the result was as follows:

    $ mono Pash.exe
    Pash (PowerShell open source reimplementation)
    Implemented by IgorM @ http://IgorShare.WordPress.com

    ERROR: Command “prompt” was not found.

    I tried enabling “verbose” option in mono (-v) and the last lines before the above error were:

    […]
    Method string:ParseDecimal (string,int&) emitted at 0xb6989ad8 to 0xb6989b47 (code length 111) [Pash.exe]
    Method string:ToString () emitted at 0xb6989b48 to 0xb6989b53 (code length 11) [Pash.exe]
    Method System.InvalidOperationException:.ctor (string) emitted at 0xb6989b58 to 0xb6989b7b (code length 35) [Pa
    sh.exe]
    Method (wrapper static-rgctx-invoke) System.Collections.Generic.List`1/Enumerator:static_rgctx_invoke_void__this__ () emitted at 0xb6989b80 to 0xb6989b92 (code length 18) [Pash.exe]
    Method System.Exception:get_Message () emitted at 0xb6989ba8 to 0xb6989be2 (code length 58) [Pash.exe]
    Method Pash.Implementation.LocalHostUserInterface:WriteErrorLine (string) emitted at 0xb6989bf0 to 0xb6989c21 (
    code length 49) [Pash.exe]
    ERROR: Command “prompt” was not found.

    Would it be possible to provide me any help based on this information?

    Thanks,

    dimir

  43. Samuel said

    Is it possible to get powershell access across platforms to work – without the SSH server, etc?

  44. […] Pash – cross platform PowerShell is out in the wild! Announcement.  […]

  45. […] but that’s probably more due to my lack of experience than anything else. There’s an Open Source implementation of Powershell I’ve been thinking of checking out, it doesn’t implement the Windows specific cmdlets, […]

  46. John said

    Igor / Victor, I’m trying to get Pash runnning on Linux, but not having much luck. I’ve installed Mono (on SLES 10 with Mono), but I don’t think I’m properly invoking Mono / Pash.

    Could you share how you got it all working in Linux?

    -John

  47. John said

    When will the next update to POSH be released?

  48. David Noble said

    Are you still working on this? I ask because I see very little activity on Source Forge and just three comments; one that simply says, “good idea.” By the way, I agree with that comment, but as a former Microsoft employee, I’d expect some talk, but not much cooperation on this.

    That’s not to say the PowerShell team wouldn’t like to see PowerShell become a cross-platform management tool, but rather that cross-platform projects are very difficult to start, manage and support from inside Microsoft given ship pressures. Where are you currently headed with this?

  49. […] an automation tool for Powershell, a Windows command line shell . There is a limited cross platform implementation of Powershell out in the wild but with limited functionality, so moving forwards its either writing a nant build script, investigating the aforementioned PASH […]

  50. Tomas said

    Igor, is pash still under development?
    Thnx

  51. Nick Duncanson said

    Is this dead, or is it still being worked on? I noticed the sources haven’t been updated in 2 years on source forge.

  52. […] which is an automation tool forPowershell, a Windows command line shell . There is a cross platform implementation of Powershell out in the wild but with limited functionality, so moving forwards its either writing a nant build script, investigating the aforementioned […]

  53. zelycorn said

    Is there some news for PASH ? I need to know if PASH is able to run a V2 PowerShell script. I have’nt details about it support. Please, could you help me or tell me an other way to run a V2 PowerShell script on linux ?

  54. phunktonal johnkey said

    I’m speechless. You guys are awesome!!!

  55. […] 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 […]

  56. […] PowerShell is indeed for Windows AFAIK, but… There seems to be a SourceForge project named PASH (PowerShell & Bash). Either way I don't think this thread is out of place since it's posted in […]

  57. This project appears to have a fork with a good amount of activity at https://github.com/Pash-Project/Pash

Leave a comment