The random utterances of David Arno

PASH – Powershell for “the rest of us”

If you have never used Windows PowerShell, you are missing out on a hugely powerful command-line tool. Not only does it show up the dos window/cmd prompt for the joke it has been for decades, it gives even the most powerful Unix shells a run for their money. (I’ve spent around ten years of my life using just about every last features of, what is in my view, is the most powerful shell out there – ksh. So I like to think I know what I’m talking about here). If you are using Windows and use a cmd window on occasions, then you should be using PowerShell. Grab yourself a copy of the free PowerGUI, join the community at powergui.org and you’ll probably never touch cmd again.

Of course there is a world beyond Windows, and if you use a MAc, Solaris, Linux etc, you are likely thinking “so what?” Well a new Mono-based developement, Pash, is set to change all that. The developers of Pash aim to recreate PowerShell on those other operating systems. If you are a developer, then you may be interested to know that the project is still pre-alpha too, so there is plenty of opportunity to show off your skills by helping out.


Share This Post...
4 comments so far, click here to read them or add another

4 Comments so far

  1. Jeffrey Snover April 8th, 2008 16:47

    > I’ve spent around ten years of my life using just about every last features of, what is in my view, is the most powerful shell out there – ksh. So I like to think I know what I’m talking about here

    I would love to hear what you miss the most from KSH. In other words, if you could add 3 features to PowerShell – what would they be?

    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

  2. karl prosser April 9th, 2008 01:50

    Powershell Plus is a perfect compliment for PowerShell or Pash, and we plan to make either PowerShell Plus , or PowerShell Analayzer fully compatible with Pash

  3. David Arno April 10th, 2008 10:12

    Jeffrey,

    I’m far from an expert in PowerShell, thus it is difficult to answer this. What I might think is a missing feature, could simply be ignorance on my part. So with that caveat, the most obvious thing that comes to mind is that there is no equivalent of “whence -v”. With the ksh, I could type “whence -v cd” to determine that cd was a tracked alias of say /bin/cd. In PowerShell, cd is an alias of Set-Location, but I only found this out because I typed “help cd”, and got the Set-Location help page. The “whence -v” command would report whether the item was a function, alias, tracked alias, or give the file location.

    Next, I would like to override the cd alias, because I am used to “cd -” taking me back to the last location. PowerShell could certainly appears to provide the functionality I’d need to implemented this via Pop-Location, Push-Location, Get-Location and Set-Location. However, it doesn’t seem possible to override the alias, as I get a “Set-Alias : The AllScope option cannot be removed from the alias ‘cd’.” error when I try. As aliases take precedence over commandlets and functions, I can’t around it that way either.

    Apart from those two niggles, I’ve yet to find anything that PowerShell doesn’t offer that also cannot be implemented via a commandlet. As I get more experienced with the PowerShell though, that might change.

  4. Jay Bazuzi October 22nd, 2012 08:31