Hacker News new | past | comments | ask | show | jobs | submit login

Windows Powershell is actually quite nice and powerful, while also avoiding some of the shell legacy traps around escaping. It suffers from not being very discoverable and not having a community.



I wish they had just been less stubborn and made something that would run bash and standard unix commands. I've used it for production jobs and it's worked as advertised, but I would have rather have just had bash.


Because there are a lot of shitty things about bash, too, that anybody with half a brain would think should be blindingly simple from the command line. For example, add a virtual host to apache with an Allow for localhost on /var/www/localtest. And do it in a portable way, i.e. no 'put every vhost in a separate file and Include those. Or fetch a configuration parameter from another machine and that other machine might run any of 5 different distros. The list goes on and on - look I'm no PowerShell fan, or 'real' user even, but we have to admit that the old Unix approach is reaching EOL (well I should say 'it should reach EOL', unfortunately it seems like it's not going to go away soon, with there not even being an alternative).


They weren't stubborn, they set out to "give windows a Unix command line" but then they discovered how unsuitable a Unix command line is, and had to rethink.

See the original lead architects comments here: http://stackoverflow.com/a/573861


A lot of bash is using awk, sed, cut, tr and others to munge the output of one command into the input of another. The killer feature of Powershell is that it does away with all of that.


.. having advertised Powershell upthread, I found it fell on its face at the last hurdle. I wanted to grep a file, and discovered that the default output formatters will either truncate or wrap lines, even when directed into a file. This is wrong and destroys data. I ended up with

Select-String " 23:56.00" -Path .\input.txt | ForEach-Object { Write-Output $_.Line } | Out-File outpu.txt


Yeah, so installing Cygwin and/or gnuwin is just a lot faster than learning how to invoke "CLR objects" from the command line...


It also has a surprising number of WTFs, which was a great disappointment to me because it really seemed like MS had done scripting better. Of course, later versions fix some of the pitfalls if you use them right, but then you need to make sure you're always running machines that will have the latest Powershell on them.

(And, of course, it would have been nice if they could improve its interactive use to even be on par with the Unix shells of the 80s)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: