Limitations of Windows PowerShell vs. Linux SSH/bash

I've had the opportunity to work with PowerShell recently, on Windows 7. And I have to admit, I'm impressed with some things, but disappointed with others.

I've had the opportunity to work with PowerShell recently, on Windows 7. And I have to admit, I'm impressed with some things, but disappointed with others. It's young as far as software is concerned, so that may be part of this. I've worked with the Bash shell on Linux for many years, and now that I had to use PowerShell I've seen some limitations that are surprising. For instance, right away I noticed that PowerShell uses the same old telnet client that Windows 95 used. It's horrible. Especially with copy/paste. You have to go under the main menu, and select a "Mark" function, then select your text (which doesn't select line by line, it selects by cursor position). You have to go under the menu to do the Copy and Paste functions as well (no keyboard shortcuts that I know of). Simply archaic in my opinion.

On the flip side, SSH is extremely versatile and flexible. And here's why. First, you can use ANY SSH client you want. Personally, I use PuTTY. It's very lightweight, powerful, and has the features that work for me. Copy and paste is very efficiently done. Simply select the text (which is intelligent enough to select line by line, not by cursor position), and the text is automatically copied to the clipboard. Simply clicking the right mouse button (or center mouse button/wheel in Linux) will paste at the cursor position. I use this all of the time for editing documents in a shell, very very easy and powerful. This behavior is also done at the text terminal of Linux as well, with the "gdm" service on (allows the mouse to be used in the text terminal).

Another feature that I love with SSH is tunneling. It's basically a lightweight feature which allows access to TCP ports of machines inside the network of the SSH server. Local ports can be forwarded to remote ports. Works great for basic applications. The beauty of mapping these ports is that all traffic is tunneled through the SSH connection, which is all encrypted.

Tab completion in Bash is better in my opinion. You get a list of matching entries in Bash (by pressing Tab twice), so that you can type and narrow down to which command you want. PowerShell works the same as the old "command" prompt in Windows, where you have to subsequently press tab to scroll through each command one at at time to get the one you want. If you miss the one you want, you have to scroll through the entire list of matches again. In a list of more than 5 matches or so, it takes more time to use tab completion in PowerShell than it does to just try to look elsewhere.

These are very basic level observations with usability. There's a lot more to each shell once you dig into them more and what goes on in each.