this post was submitted on 13 Oct 2023
458 points (100.0% liked)

196

16216 readers
2258 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
all 30 comments
sorted by: hot top controversial new old
[–] [email protected] 83 points 11 months ago

That isnt the mascot , that IS the wizard

[–] [email protected] 67 points 11 months ago* (last edited 11 months ago)

You expected your content to be downloaded by curl

It was me, Invoke-WebRequest!

[–] [email protected] 46 points 11 months ago (1 children)

the only thing i know about powershell is that the linux binary is named pwsh which i learned the hard way after writing pow and then accidentally tab completing poweroff and shutting down my pc

in fairness that might've been a sign

[–] [email protected] 8 points 11 months ago

I just learned you can use powershell your default shell. Ngl i'm kinda impressed...

[–] [email protected] 27 points 11 months ago (4 children)

Powershell is actually powerful. You can write full on WPF grafical user interfaces with it.

[–] [email protected] 37 points 11 months ago (6 children)

If powershell wasn't a Microsoft product I think it could easily outclass any shell currently available. The concept of command output typing is hand down one of the best features of any shell I've tried.

[–] [email protected] 21 points 11 months ago (1 children)

nushell is a thing, and basically has all the fun powershell features like a type system, but a more Unixy presentation. I've not used it, so don't know if it's actually any good, but it at least exists.

[–] [email protected] 3 points 11 months ago (1 children)

Can you write bash with nushell?

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago) (1 children)

No, it is its own scripting language.

[–] [email protected] 3 points 11 months ago (1 children)

Is nushell comparable to fish?

[–] [email protected] 5 points 11 months ago

Yes and no. Yes in that it's a different shell that is intended to be used instead of something like Bash, and isn't compatible with Bash scripts. However, unlike Fish and Zsh, it's also not compatible with plain POSIX sh, so you have to run plain shell scripts by calling into something else that is sh-compatible.

[–] [email protected] 12 points 11 months ago (2 children)

Apples to oranges, powershell is windows exposing most of COM, WMI and .NET object models while improving on the previous options with CScript and VBscript, as those are older than .NET.

Why are we comparing it with UNIX/Linux shells is beyond me.

[–] [email protected] 8 points 11 months ago

You say that like it's a bad thing. Having access to all those things by writing a few descriptive words and a great help system (looking at you, linux commands) is awesome.

[–] [email protected] 3 points 11 months ago

Because ms is positionning it (and indeed publishing it) as a rival to bash, zsh et al. You can use PS on Linux if you feel so inclined and take advantage of most of the day-to-day features. The .NET interfaces are nice but to me they're more a way for them not to add cmdlets for everything by going "its in .NET already".

[–] [email protected] 11 points 11 months ago* (last edited 11 months ago) (1 children)

How is it being a Microsoft product a bad thing? It's fully open source and available on both Linux and Windows;
also nushell

[–] [email protected] 9 points 11 months ago (1 children)

Microsoft has literally invented EEE (Embrace, Extend, Extinguish).

[–] [email protected] 9 points 11 months ago (1 children)

They didn't embrace anything with PowerShell, it's just a Microsoft product.

[–] [email protected] 8 points 11 months ago

I was just pointing out why people are suspicious of MS.

[–] [email protected] 5 points 11 months ago

nushell is taking the same route I think

[–] [email protected] 3 points 11 months ago

I like the typing, but I hate the syntax and verbosity of it. It feels very complex to write.

[–] [email protected] 1 points 11 months ago (3 children)

I'm confused by this command output typing you're talking about, and I'm not sure if I found the correct thing. Are you talking about the Write-Host and Write-Output?

[–] [email protected] 9 points 11 months ago

I'd assume they mean that command return values can have types besides string. In classical shells, all data is stringy, so every command has to re-interpret everything. PowerShell can actually use data types.

[–] [email protected] 4 points 11 months ago

In powershell, commands may return types different from string and other commands may accept arguments that are not strings. For example, you can pass an array between commands where in bash you just have a string with \n separated values. You may also interact with more complex objects

I once made a script for a monitoring software that takes its input as json, so I built a custom object that had all the data and then called .tojson on it and that was that.

[–] [email protected] 2 points 11 months ago

As far as I understand it it's like stdout and stderr but with some additional ones for debuging, logging, etc..

[–] [email protected] 13 points 11 months ago (1 children)

Reminder that you can use any CLI interpreter as your shell. IPython, Pry, PHP, or whatever you want.

[–] [email protected] 7 points 11 months ago
[–] [email protected] 7 points 11 months ago* (last edited 11 months ago) (1 children)

Of course you can, but why would you?

[–] [email protected] 2 points 11 months ago

It was my stepping stone from being an IT Support tech to a traditional Software Developer. Yes it's not as easy to work with as a traditional language or as fast but it's more flexible and often less verbose.

[–] [email protected] 10 points 11 months ago

thank you! i've literally felt the same ever since powershell introduced the icon