Hallelujah

alphacyberranger@lemmy.world to Programmer Humor@programming.dev – 1470 points –
131

I like that you actually can ls in power shell now

Yes, yes you can.

Also, WSL and windows terminal go a very long way in making windows actually usable...

"Usable" is a strong statement... It went from a "misery inducing insufferable machine" to a "extremely big annoyance". I do concede it is anyway a progress

You damn spoiled kids with your blue jeans and your rock and roll music and your auto complete!

Just add Winget with an UI to have a proper package manager and we're in

Package manager with a UI? I like my apt and dnf thank you very much.

You can still use winget by itself from the command line! The UI is just there for convenience and automation

The UI is just there for ... automation

Wut?

I've never gone to a UI when I want to automate something, a sane CLI is much more predictable and consistent.

Winget-UI specifically can run the upgrade tool automatically for you, that's what I meant for "automation". You could also add a scheduler to run Winget by itself every day if you need to.

I've just been using scoop for many years and I haven't felt the need to switch

1 more...
1 more...

PowerShell 7 is pretty sweet ngl

I really want to love the "everything is an object" of power shell but I just have zero uses for using a shell on windows. Granted, my windows usage is like 15 minutes a week most of the time, but still. I also can't be bothered to use it for work because it's exclusively Linux/linux-ish over there so it's not worth bothering.

Either way, I like the idea, can't really justify figuring out the details.

If you only have to use it 15 minutes every week it's probably not worth getting to know.

I work in a Windows shop, so I love everything being an object, most of the time. At least for the things that are worked out completely.

It's great for things you need to iterate or just for figuring out what you can do by piping a result to get-member. If you are interested in getting better at powershell at some point, I highly recommend Powershell in a month of lunches. (Also because I like Manning's model where they automatically offer the digital versions of books they sell, and also offering free previews of the entire book, given enough time)

"But PS is open source ! Don't you want to use it in Linux and MacOS?" - Microsoft probably

It's a wonderful tool for me in a Windows environment/shop, especially with how it works well with all the Windows and Microsoft administration systems/tools we use.

Personally, I'm less interested in any language's hypothetical merits than how it fits as a tool for what I need to accomplish and ease of future maintenance when the script/program/automation inevitably needs to be adjusted.

All that said, I can't think of a legitimate reason to use PSCore on non-Windows hardware unless you're just really familiar with PS and literally nothing else. Even then you're better off taking time learning a better tool for that environment.

That's a very good point. My angle is as a dev and not as IT or sys admin. Power shell is probably far more powerful in those circles.

Yeah but tbh i really despise powershells syntax. But i'm happy it is pretty powerful.

i’m often amazed at microsoft’s ability to take a useful product and make it agonizing to use

Unfortunately, bash syntax isnt amazing either

But Powershell is worse

Yeah. I've said this before and got grilled for it but I wish there was a shell scripting language that doesn't have arcane syntax.

Can anyone name any living language, scripting or otherwise, without arcane syntax?

Perl, no wait you said without arcane syntax....

Bash came out decades ago and powershell is brand new. It doesn't really have an excuse to suck.

I hope I didn't come across as defending ps. PS sucks and whoever decided to have functions use capital case with dashes in between needs to have their brain scanned

I do a lot of work in PS and I don't find it that bad. But you forgot what's even dumber about their function naming conventions.

Function names are supposed to be a single word verb, then the dash, then the rest. But not any verb, you're supposed to use one from PS's list of acceptable ones which has some really weird omissions. And they break their own single word verb convention with "acceptable verbs" ConvertTo and ConvertFrom (ConvertTo-SecureString, ConvertFrom-Json), which are the only exception to one word verbs before the dash.

Function names are definitely one of my biggest peeves with it.

Additionally, their basic comparison operators are dumb as hell. How is "-le" better or clearer in meaning that "<="? -ne instead of !=, but == isn't just -e, it's -eq. And you can't slap an n in front of other comparators for not, -nle isn't a thing. You gotta wrap the whole comparison in parentheses and slap an ! on the front or slap -not in front. But don't try to do !-le, because that's also not a thing. It's not terrible but I refuse to believe that -eq is more readable than ==

Functionally speaking, PS is a really good shell language. Its minor things about it that I dont enjoy. As you said, it feels like the language design has some poor decisions.

Also rm, cat, mkdir, cd, curl, what else

mkdir is literally a DOS command homie.

Isn't it md and mkdir is just an alias in Powershell to accommodate Linux users?

Every command that isn't fully expanded PowerShell commands is an alias. dir and ls are both aliases for Get-ChildItem.

Yeah posh has lot of aliases by default to make it more "friendly". mkdir is just new-item -type directory or whatever.

Also curl is just alias for invoke-webrequest and works nothing like curl

1 more...

Dir?

use powershell (specifically the core version!!!), or even better something like Nu shell

1 more...

Add ls.bat in your windows directory with dir as the source. It basically acts as an alias.

Still won’t help me when I type ifconfig or dig, though.

Also I’ve noticed there is also a curl in Windows CLI that I believe is based on libcurl, but when called from powershell is an alias for (iirc) Invoke-WebRequest.

ifconfig doesn't even work in a lot of Linux distros anymore.

I came across this one just yesterday and while it was convenient at first, I immediately got frustrated when I went to add some parameters and discovered it wasn’t actually curl

Classic PoweShell experience. Try rm -rf - I wonder why they added the aliases in the first place. Only frustrating to type different arguments which are also more verbose. Tastes like the good ol' embrace-extend-extinguish.

echo @dir %1 %2 %3>%windir%\system32\ls.bat

Something like that should fix the problem, I think...

:puke:

You're no fun...

%0|%0

Not gonna lie I love easily readable scripts. Powershell was my first, and as much pain it can be it's for sure readable even for the most novice.

Maybe that's why I love Python too, but have hard time learning sh past very basics...

Edit: oh lol that's a fork bomb, curiosity won and had to ddg what that is. Love the simplicity of that

Haha!

Old-school fork bomb, at least it doesn't do anything but bog the system down..

Cmd? What century is this? Use powershell

I’m gonna take it a step further and say to use the new Terminal app from the winapp store which lets you integrate ALL command lines into one app and it looks snazzy to boot!

Check it out mother fuckers!

Yes I love it. It's on w11 by default

I hate it, it takes too long to start up.

Maybe something is wrong with your pc. It takes me about 5 seconds. Or you are just very impatient.

5 seconds is way too long when all I need to do is run small utility in batch.

Agreed. Terminal is the shite. Makes working in WSL Ubuntu really rewarding.

I've found that powershell doesn't play nice with many command line developer tools so cmd it is.

Yeah powershell is better 95% of the time. But that other 5% of the time you have to go back to CMD and redo what you were attempting. So the work done in powershell is a waste of time 5% of the time, and you still will need to know CMD to be able make everything work.

So Powershell is better in theory, but in actual practice I tend to do things in CMD because I know it will work.

I really like PowerShell's object-oriented approach to pipelines. Unix pipes feel really dated in comparison.

My brain is still hardwired to do Win+R CMD Enter..

You can just press Win key and type whatever to search and enter to open. WIN Term Enter, and there's your Windows Terminal.

What year is this from? You absolutely can use ls in a windows command prompt now.

As of Aug 26, 2023, Windows command prompt absolutely does not recognize “ls” as a command.

Powershell is a different story.

Source: I type “ls” 40 times a day into a command prompt on my up-to-date win10 PC at work.

I literally just typed it into cmd.exe on Windows 10, fully updated, and it absolutely did work. No idea why it doesn’t work for you.

edit: ???

edit: it's been traced back to this:

https://github.com/devkitPro/installer/releases

which is an emulator toolset that I didn't know existed on my system until today.

That is interesting. I just remoted into 5 different machines at the office and none of them worked with ‘ls’. If you enter ‘ls /?’, does it give you a synopsis and argument list?

If I do “ls /?” it returns no such file or directory, but just “ls” performs exactly as you’d expect. I haven’t installed anything to provide that function that I know of. It never occurred to me that I would have to because as far as I know it’s always worked. Until today I just assumed it had become a standard command and never investigated. Was just happy I could use the same command in cmd and on my Pi box.

Out of curiosity what do you do to frequently end up with cmd? I don't think I've touched it in many years at this point.

Lately I’ve been using it as a simple way to drag and drop a source .tar.xz archive on a .bat file so it can be twice extracted, moved, renamed, have dependencies downloaded by git, run a cmake process, do a visual studio compile, then move the result release directory back to where the .bat file is while removing unneeded files and adding new ones.

cmd and batch still has its uses.

It’s my own fault, and the result of 30+ years of muscle memory building up. Plus, while I agree cmd isn’t nearly as powerful as powershell or wsl can be, when I’m in Windows it’s still the fastest way for me to do 90% of the simple things I need to do. I have a long history with it, and a thorough understanding of it, so I don’t really need to think for most of the things I’m doing there.

If I need to script something, or do anything that seems like it would be annoying to do in CMD, I hop into WSL pretty quickly and get to work with bash or python. The problem I have now is that I’ve developed a little muscle memory there as well… hence my issue with entering ‘ls’ everywhere.

I can't remember doing anything and "ls" works for me

Probably using Powershell, or you added it. Ls definitely doesn't work in windows 10 or 11 in cmd.

I'm still confused.

Bone stock windows 11. Like I have everyone else has said, you have done something to add it to cmd. It isn't, and has never been in cmd.

EDIT:

Try this. in CMD type in

where LS

E:\>where ls
f:\Git\usr\bin\ls.exe

Mystery solved

Ok, getting past the dickish, completely unhelpful first part of your reply (as you can see in the comments, not EVERYONE was saying that), the second part helped me trace it back to this:

https://github.com/devkitPro/installer/releases

which is a toolset that I never intentionally installed, and was evidently added by an emulator package without me knowing where it was or what it did.

So thank you for (eventually) helping me find what it was, and now you and others know how to add it to cmd and don't have to complain about its absence.

No it works in cmd. I didn't add it intentionally atleast. Never even tried to use it till now.

1 more...

It works on Powershell but not with CMD.

That's a problem when using NeoVim on windows

1 more...

The year is 2023, if you're still using CMD or batch files still that's on you. It's like riding a horse down a freeway and yelling at cars.

Sometimes you just need a quick ipconfig or nslookup, or a simple scheduled shutdown /s /f /t 00

That is a fair statement, but also a different topic.

I am thankful to live in an age with WSL.

ok boomer?

What? Ignoring the out of date, over used, 'gottem', phrase... it literally doesn't make sense given the context. I'm advocating for modern tools... how is that a 'boomer' move?

I ended it with a question mark because I was uncertain but otherwise your asinine, dismissive statement sounds like something a jackass who’s been around too long would say because he’s entirely too full of himself. I’m willing to recognize that it’s actually ignorance formed out of youth. Don’t think about it too hard.

3 more...
4 more...

Yes in Windows Server since, IIRC, 2012". No in Windows client versions.

I'm so used to Server commands I sometimes am surprised when commands like logoff don't work.

4 more...