Learn PowerShell as a shell first

When I was learning PowerShell, I thought of it as a scripting language that has a shell. But the right way to think of it may be the opposite, a shell that has a scripting language. Apparently others have followed this same change of perspective.

Don Jones and Jeffrey Hicks open their new book Learn Windows PowerShell 3 in a Month of Lunches by explaining that they first saw PowerShell as a VBScript replacement and taught it that way.

Since late 2009, however, a shift has occurred. More and more administrators who don’t have prior VBScript experience have started trying to learn the shell. All of a sudden, our old teaching patterns didn’t work very well, because we focused on scripting and programming. That’s when we realized that PowerShell isn’t really a scripting language. It’s really a command-line shell where you run command-line utilities. Like all good shells, it has scripting capabilities, but you don’t have to use them, and you certainly don’t have to start with them.

[Don Jones wrote the first edition of the book, which I haven't read. This quote comes from the second edition, coauthored with Jeffrey Hicks.]

Other PowerShell books I’ve read felt more like a programming language book than a book on a shell, more like, for example, The C Programming Language than The Linux Command Line. The latter seems to be a better analog for the new PowerShell 3 book: emphasis on interactive use first, programming second. At least that’s my first impression. The book isn’t finished yet — it’s part of Manning’s Early Release program — and I haven’t yet read all of the part that has been released.

If you’d like a chance to win a copy of Learn Windows PowerShell 3 in a Month of Lunches, please leave a comment below. I’ll draw a winner and the publisher will send you a copy of the book.

Update: I’ll draw a winner on Friday, June 29. Comments need to be posted by midnight Thursday in my time zone.

Related links:

Comparing the Unix and PowerShell pipelines
PowerShell gotchas
Regular expressions in PowerShell and Perl

157 thoughts on “Learn PowerShell as a shell first

  1. I am just curious about PowerShell, does it provide the same level of power as Linux shell’s?

  2. I know I use PS with very low efficiency, and I want to learn it throughly, but cannot find time to. Something that teaches PS in such small bites was what I’ve been looking for, and the book definitely looks promising.

  3. Just started teaching myself powershell as much as I hate windows, the employer wants work done on windows, windows it is. PowerShell makes live much easier. I am working on a large VMware implementation and powershell scripting on the environment is a real time saver.

  4. The drawing is over and the winner has received his book. You are welcome to leave comments if you want to discuss PowerShell, but you won’t be entered in a drawing.

  5. if ( $my_favor =~ ‘luck’ ) {
    push ( @my_book_collection , “Learn Windows PowerShell 3 in a Month of Lunches” )
    print ‘Luck was in my favor and “Learn Windows PowerShell 3 in a Month of Lunches” has been added to my book collection!’
    }
    else {
    print “Guess I’ll have to buy the book myself :-(”
    }

Comments are closed.