3 ms·
That looks like a neat project! Nice. > But above all else, it's a $SHELL so it works find with all your existing CLI core utils. Which is more than can be sai
by partdavid 5y ago
That looks like a neat project! Nice.
> But above all else, it's a $SHELL so it works find with all your existing CLI core utils. Which is more than can be said for the likes of Powershell.
Can you expand on what you mean by this? I've been using Powershell as my primary shell for 2-3 years and this statement surprises me. There's no "core util" I can invoke that behaves differently or surprisingly in Powershell so I probably don't understand what you mean.
- hnlmorg 5y agoMaybe I'm wrong on this point then but the few times I've tried to Powershell in the past I had issues piping commands together because some commands expected text while others expected a .NET object and it all felt terribly like working in Delphi again with the type system actively working against you (I'm exaggerating a little here, love Pascal, but hopefully you get my point). Don't get me wrong, I love strongly typed languages. But when you're using the CLI you want a language that is optimised for ease and working with CLI tools and Powershell functions wasn't easy. But as I said, I might have been doing something wrong. And if that's the case I'll make sure I don't repeat that comment in the future :)
- partdavid 5y agoOut of the box, Powershell comes with some aliases matching standard commands, like ls is an alias for Get-ChildItem. I think the intention is to make it more 'familiar' for Unix users on the "home" platform, where you don't usually have native Unix commands, but I found they just got in the way and I removed them (aliases like gci for Get-ChildItem still remain, so you don't need an ugly verbose command line, but you do need to learn some new commands). I'll wager that some of your experience was due to these aliases, which just get in the way trying to use it as a Unix shell. So far I've actually been surprised at how infrequently I've encountered the problem you describe. I don't doubt that it's a real problem, but I've generally been pretty impressed with how well a list of lines, which come across a pipeline as an array of strings, mingles with objects. It could be that our "daily driver" tasks have different domains so this mismatch surfaces much more frequently for what you need to do. I've had ideas for better shells for decades, mostly around handling structured data and easy network connections without destroying too much of what makes a shell a shell. So genuinely, respect to you for actually implementing along this path.
- pxc 5y agoWhen I use PowerShell, I try to use 'pure' PowerShell, so I don't invoke any unwrapped DOS/cmd or Unix (Cygwin, gow, whatever) commands. (This is actually pretty easy to do, in that everything I've ever thought of doing can be done in pure PowerShell.) The resulting experience is really nice, since everything returned to me is a nice PowerShell object. The cost, of course, is having to learn how to do everything anew.