Live data from Hacker News

Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

news.softpedia.com

151–160 of 350 posts

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#151
post #144
post #134

Earlier quoted context omitted.

Most Windows terminal people use ConEmu rather than the inbuilt terminal apps - it's like iTerm2 vs Terminal.app on MacOS. ConEmu adds Unix style cut and paste, tabs, etc. Add openssh, PSReadLine and PSCX and you've got a proper terminal setup. Also MS should really improve the inbuilt apps to do this stuff.

Whilst I am glad to hear about ConEmu; I have to disagree, I use windows cmd.exe very regularly, and know lots of other people that do, and I have never used ConEmu before! I might give it a try now I know about it.

Cmder is a good configuration bundle for ConEmu and a better place for new users to start.

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#152
post #115
post #107

Earlier quoted context omitted.

I have worked with both and I would not claim that bash is superior to Powershell. I wouldn't even claim that my favorite shell, zsh, which is mostly better than bash, is superior to Powershell. They're different approaches and the only real benefit of bash is that it's super entrenched and extremely widely supported. With the same level of support Powershell would run circles around it. But since we're comparing thi…

> They're different approaches and the only real benefit of bash is that it's super entrenched and extremely widely supported. With the same level of support Powershell would run circles around it. I'm not sure what you mean with this. If you're referring to feature set and robustness with typing in scripting, I might agree with you. I have however a much tougher time agreeing if you also think that powershell could…

> I have however a much tougher time agreeing if you also think that powershell could come even close to bash/zsh when working from the shell, in both speed of use (and as you said) support.

At the end of the day, both bash/zsh are "dumb" shells, they don't have the introspection capabilities Powershell has regarding commands they execute. That's both a benefit (they're flexible and you can throw anything at them) but also a disadvantage (they can't really help you much out of the box when you want to run a command; they are only able to help you regarding things they find out from the kernel, such as files, but not arbitrary info from the commands themselves).

The reasons that bash/zsh are faster and better supported boil down to history: tens of years of production usage by millions of people. As a result there's this cottage industry of tips and tricks, autocompletion scripts, etc. that makes bash and zsh usable.

I'm willing to bet that with a similar amount of man-hours poured into its ecosystem Powershell would beat both of them.

But as I said, we live in the real world and both bash/zsh are faster and a bit more robust than Powershell.

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#153
post #16

Hopefully one day Bash will be the default Windows CLI.

Bash has its warts too. Treating everything as strings can cause headaches when filenames have spaces. As a long-time Linux user who recently learned some powershell, I find Bash rather primitive after getting accustomed to an environment where everything is an object.

I wonder how feasible it would be to build a powershell-like environment for Linux on top of Python.

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#154
post #26

Earlier quoted context omitted.

Sure, go ahead, ruin my joke :) More seriously, how many seconds did it took for the PS to answer to that command?

Measure-Command {dir C:\} TotalMilliseconds : 2.9708 Measure-Command {Get-ChildItem "C:\"} TotalMilliseconds : 2.4161

Second time the HD has probably cached the result...

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#155
post #58
post #35

Something that irks me is how PowerShell’s default aliases take precedence over binaries in the PATH. To be able to use the GNU utils, you have to put this in your profile.ps1 : Remove-Item Alias:cat Remove-Item Alias:cp Remove-Item Alias:curl Remove-Item Alias:echo Remove-Item Alias:ls Remove-Item Alias:man Remove-Item Alias:mv Remove-Item Alias:pwd Remove-Item Alias:rm Remove-Item Alias:wget

Isn't that always the case, that shell built-ins take precedence over things elsewhere in the system? On Unix you have to call them with their full path, e.g. to get the system echo instead of bash's you need /bin/echo, I guess. On Windows you can add the extension, i.e. use ls.exe instead. Even cmd shadows programs that have the same name as a built-in, e.g. echo.exe must be called as such and just echo will use the…

"command echo" instead of just "echo" should bypass the shell builtin.

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#156
post #139
post #138

> Starting with Windows 10 build 14971, Microsoft is trying to make PowerShell the main command shell in the operating system. > As a result, PowerShell officially replaces the Command Prompt in the Win + X menu, so when you right-click the Start menu, you’ll only be allowed to launch the more powerful app. This is an older change - I have this behavior in 10.0.14393.0 (ie, current stable). cmd launching posh is new…

There's an option in the Taskbar settings: »Replace Command Prompt with Windows PowerShell in the menu when I right-click the start button or press Windows key+X«. I suspect the default value for that setting has been false, so far.

I have that here in stable. I suspect you're right and changing the default might be what they mean (I think I already changed it because cmd is gross).

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#157
post #83
post #58

Earlier quoted context omitted.

Isn't that always the case, that shell built-ins take precedence over things elsewhere in the system? On Unix you have to call them with their full path, e.g. to get the system echo instead of bash's you need /bin/echo, I guess. On Windows you can add the extension, i.e. use ls.exe instead. Even cmd shadows programs that have the same name as a built-in, e.g. echo.exe must be called as such and just echo will use the…

That is correct. Most people do not notice because the buildings in bash are almost completely equivalent to the standalone binaries.

I've only ever really noticed with 'time' and 'echo'

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#158

That's nice. Can you pipe binary data without powershell corrupting it, or is that now a feature? https://brianreiter.org/2010/01/29/powershells-object-pipeli...

This bit me badly when trying to pipe GPG output. I ended up building a command string and sending it to cmd. :|

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#159

Weird. I have 14971 installed and when I type CMD in the "ask me anything" box or in the alt-r box I get good old CMD shell. Is this a config thing ?

They're not removing cmd the console host. If you shift-right-click a folder the context item is powershell now instead of command prompt.

The article would partially disagree with you:

> Typing cmd in the run dialog will launch PowerShell as well, so Microsoft has made a significant step towards phasing out the traditional Command Prompt.

Imho that sounds like stupid idea (and I like PS).

Re: Microsoft Replaces Command Prompt with PowerShell in Latest Windows 10 Build

#160
post #98

Earlier quoted context omitted.

DIR and LS are both aliases for Get-ChildItem, which doesn't support the flags you're after.

Then don't make them aliases, if they're not the same. The issue already happened with cURL.

They are aliases for Get-Children. Just like you can have an arbitrary alias for anything on UNIX. If I so pleased I could make an alias so that when I wanted to delete a file I'd type

  emacs some-old-file-i-dont-want.c
Emacs would be an alias for rm on my system.

That being said I think it was quite offensive of MS to use wget and curl as aliases, even though they may have had no ill intentions. I'm ok with using ls and echo and names of other such basic commands as aliases, but with tools like wget and curl that are known for their vast array of useful features you either implement their features and options or you don't use their names.

Post reply on HN