I think it’s brave that the author tried this out seriously like they did. PowerShell is an excellent shell on Windows, and I’d believe it would be on UNIX as well when the kinks get ironed out with the migration, but this is still early days for it.
I’d love if the author could explain what issues they had with PSReadLine. The other issues seem to be either known, or just a result of things being new and not highly adopted yet. Most PowerShell modules around are designed to work on PowerShell v5 or earlier, which was before the PowerShell Core version. There’s bound to be some teething issues here until the Core version becomes more widespread.
If something like PowerShell were to exist on *nix, it would perhaps be better served by a similar language but built on top of the GLib object model rather than .NET CLI, since GLib’s object model fills a similar cross-language niche in the free software ecosystem.
I used to use PowerShell a lot, on both Windows and Linux. I eventually came to the conclusion that bash (or just plain old POSIX sh) was better, for a few reasons.
scripts aren’t run in a subshell. (which means if the scripts happen to run cd, it will change the directory of the parent shell too!)
ridiculous Verb-Noun verbosity. e.g. Get-Help instead of man, Write-Host instead of printf, etc. (this is partly solved with aliases.)
PowerShell was (at least when I used it late 2018) incredibly slow compared to bash (bash’s own manpage describes it as “too big and too slow”.)
This reason is purely subjective, but I didn’t really like the “everything is an object” thing about PowerShell. I prefer the usual Unix’s plain text.
ridiculous Verb-Noun verbosity. e.g. Get-Help instead of man, Write-Host instead of printf, etc.
It’s not great for interaction but it’s great in scripts. I much prefer verbosity there. It makes for better reading when the script has been undeveloped for a while. Shell has an intense terseness to it that makes it an opaque wall of symbols and sigils when it gets past about 100 lines.
I didn’t really like the “everything is an object” thing about PowerShell. I prefer the usual Unix’s plain text.
Personally, I think this the number one thing holding terminals back from being great system interaction tools. Stuff like the output of ps and ls is just begging to have decent structure imposed on it, as just a simple example.
Just Bing “git bash prompt” and you’ll find out.
The fact that you have to paste it into your .profile yourself is only testament to a poor plugin system.
I think it’s brave that the author tried this out seriously like they did. PowerShell is an excellent shell on Windows, and I’d believe it would be on UNIX as well when the kinks get ironed out with the migration, but this is still early days for it.
I’d love if the author could explain what issues they had with PSReadLine. The other issues seem to be either known, or just a result of things being new and not highly adopted yet. Most PowerShell modules around are designed to work on PowerShell v5 or earlier, which was before the PowerShell Core version. There’s bound to be some teething issues here until the Core version becomes more widespread.
If something like PowerShell were to exist on *nix, it would perhaps be better served by a similar language but built on top of the GLib object model rather than .NET CLI, since GLib’s object model fills a similar cross-language niche in the free software ecosystem.
I tried it for a few hours but my conclusion was nearly the same: Not ready for interactive use on Linux. Nice as a scripting language.
I used to use PowerShell a lot, on both Windows and Linux. I eventually came to the conclusion that bash (or just plain old POSIX sh) was better, for a few reasons.
cd
, it will change the directory of the parent shell too!)Verb-Noun
verbosity. e.g.Get-Help
instead ofman
,Write-Host
instead ofprintf
, etc. (this is partly solved with aliases.)It’s not great for interaction but it’s great in scripts. I much prefer verbosity there. It makes for better reading when the script has been undeveloped for a while. Shell has an intense terseness to it that makes it an opaque wall of symbols and sigils when it gets past about 100 lines.
Personally, I think this the number one thing holding terminals back from being great system interaction tools. Stuff like the output of
ps
andls
is just begging to have decent structure imposed on it, as just a simple example.It has telemetry as all other products from M$. Also to get git branch in the PS1 you need to install a module… https://github.com/dahlbyk/posh-git
Wow how it got so complicated compared to setting the PS1 in bash?
Installing a plugin is exactly how most people get a git prompt in Bash/Zsh/Fish.
Any stats on that? Never heard about a bash plugin to do this.
Just Bing “git bash prompt” and you’ll find out. The fact that you have to paste it into your .profile yourself is only testament to a poor plugin system.
“M$”…lol