this post was submitted on 07 Jun 2024
456 points (91.0% liked)

Programmer Humor

36876 readers
101 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

Since people are curious Ill explain why:

I need to build our project from the remote repo using a PowerShell script (.ps1). I’m using Bash in the VSCode terminal, I have to run the .ps1 script in a new Command Prompt because the compilation takes around 5 minutes and I need my terminal for other things. To do this, the only way is to run a batch file that executes the .ps1 script.

Its an automation so I dont need to touch powershell whatsover and remain in bash terminal. Instead of opening several windows, I automated all so it only takes 1 alias to compile my shit.

The compilation also requires several inputs and "Key Presses", so I automated all of that in the Batch file.

top 50 comments
sorted by: hot top controversial new old
[–] cyborganism@lemmy.ca 90 points 1 year ago* (last edited 1 year ago) (11 children)

That sounds like you don't know what you're doing. No offense.

[–] Crackhappy@lemmy.world 13 points 1 year ago (1 children)

Fuck man, I don't know what I'm going either.

[–] cyborganism@lemmy.ca 4 points 1 year ago

Damn autocorrect...

load more comments (10 replies)
[–] ArchAengelus@lemmy.dbzer0.com 44 points 1 year ago (3 children)

Please explain why you don’t open powershell and run cmd.exe instead of running bash? This is a strange workaround and doesn’t really make sense.

load more comments (3 replies)
[–] beeng@discuss.tchncs.de 40 points 1 year ago (1 children)

Command prompt is CMD and batch script, Powershell is Pwsh and .ps1, then bash is .sh.

You've confused a few things here..

FYI, open a powershell terminal separately, to the path of your script (powershell in file Explorer path) and run your script.

Do rest of Work in Vscode

Done.

[–] Toribor@corndog.social 2 points 1 year ago (1 children)

I use Ansible on WSL to run Powershell scripts on Windows using VSCode. I'm surprised it works as well as it does.

[–] beeng@discuss.tchncs.de 4 points 1 year ago

You use Linux to run Ansible to run ps1 on Windows, exactly how it's meant to be used!

[–] muntedcrocodile@lemm.ee 32 points 1 year ago (2 children)

U can probably add a couple more layers by sshing into a vm

[–] ErilElidor@feddit.de 12 points 1 year ago* (last edited 1 year ago)

Don't forget to run some docker container on that VM, to encapsulate the workload, so it will be: SSH to VM -> open a shell into the container -> run the rest

[–] slazer2au@lemmy.world 8 points 1 year ago (1 children)

Got to at least wrap it up in some python.

[–] muntedcrocodile@lemm.ee 7 points 1 year ago

Good idea perhaps we can route over tor as well just to maximise latency

[–] ArmoredThirteen@lemmy.ml 22 points 1 year ago

My work someone made a robust automated build script, and they left so someone else made a wrapper around it to make it easier to work with, they're gone now and someone wrote a wrapper around that to extend functionality in a backwards compatible way, but it's overly complicated for my minimal use cases so I wrote a batch file to call it with my default settings...

[–] masterspace@lemmy.ca 20 points 1 year ago

You work a job that uses PowerShell and you refuse to learn or use it. You are creating problems for yourself.

[–] tofubl@discuss.tchncs.de 12 points 1 year ago (1 children)

WSL has changed the game pretty significantly, don't you agree? It's not perfect, but allows me to stay firm in my resolve never to learn powershell.

[–] discusseded@programming.dev 15 points 1 year ago (4 children)

After learning PowerShell and then moving to Linux and having to learn bash...I don't get this sentiment. PS is the shit. I can make full GUI applications and automate all kinds of workflows. Their use of objects makes it so easy to extract data and utilize it. Bash feels so much more primitive and clumsy by comparison. What am I missing here?

[–] Anafabula@discuss.tchncs.de 6 points 1 year ago (1 children)

Bash sucks. At best, only use it to pipe commands into each other in the terminal (Or change your shell to something else). For scripting, use Python or something.

Btw, Powershell runs on Linux if you want that

[–] discusseded@programming.dev 1 points 1 year ago

I did install it on one of my machines but haven't dug in yet. I'm curious to see how much of my workflow will translate to Linux, yet at the same time I want to make sure I'm actually learning Linux and not using PS as a crutch.

[–] Ephera@lemmy.ml 2 points 1 year ago (5 children)

People use Bash for quick and dirty scripts, because it's pretty much just a few symbols in between all the commands that they know and use all the time anyways. You don't really 'learn' Bash in a dedicated manner, you rather just pick up on tricks and tidbits over years.

For more than that, you'd use Python, Ruby or a full-fledged programming language.
Personally, I would even go so far that Powershell hardly added something new that wasn't already covered by a programming language...

load more comments (5 replies)
[–] tofubl@discuss.tchncs.de 1 points 1 year ago* (last edited 1 year ago) (1 children)

Mh, it probably depends a lot where you're coming from. I don't need Powershell or have a reason to learn it in my daily work, and I mostly use WSL to access Linux shells everywhere else. And on top of that, I don't understand why Powershell needs a completely different command set to basically every other shell. It's a biased take, but I have not had an interaction with Powershell that I liked, nor have I seen a feature that made me want to look into it more.

What's the killer feature, would you say? Care giving me the fanboy-pitch?

edit. Oh and I forgot, the tab completion in Powershell is so incredibly dumb. I never ever in my life want to cycle through all items in a path, and much less have it be case insensitive. Come to think of it, this might be the origin of most of my disdain. ;)

[–] discusseded@programming.dev 3 points 1 year ago (1 children)

By far it's the object pipeline. Having structured data makes it easy to automate workflows in a predictable way. With bash everything is a string, so everything has to be parsed. It's tedious.

It took about a year of steady use before I came to enjoy the syntax. It shines in a production environment with other cooks in the kitchen. I never got into the C style, I like my code human readable at a glance. It's fine if everyone's a sage but we have a team with a mixture of skill levels and for me PowerShell gets it right.

[–] tofubl@discuss.tchncs.de 2 points 1 year ago

That actually makes a lot of sense. I never even second guessed how tedious all the parsing is. But then, as others have said here, as soon as the task at hand reaches a level of complexity beyond grepping, piping and so on I just very naturally move to Python.

On a different note, there are ways to teach bash json. I recall seeing a hacker conference talk on it some time ago, but didn't pay close attention.

[–] beeng@discuss.tchncs.de 11 points 1 year ago* (last edited 1 year ago) (1 children)

Another question, why can't you write the compile script in bash?

ChatGPT would make pretty short work of the conversion.

[–] visc@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (1 children)

Until you have it write a github action that uses a bash script to process a directory structure with spaces in the names. Never seen ChatGPT so confused before.

[–] beeng@discuss.tchncs.de 5 points 1 year ago* (last edited 1 year ago)

Env variable that problem away if it's from software you don't control, then fix your shit from where you do.

[–] Nougat@fedia.io 6 points 1 year ago

It sounds like your hate in this instance is misplaced, because "someone" set things up in that stupid way.

[–] Tiltinyall@beehaw.org 6 points 1 year ago* (last edited 1 year ago)

That pic of Willem Dafoe is patently false... no dong hanging

[–] Hirom@beehaw.org 5 points 1 year ago

This is a common issue in software, not limited to scripting. Software are getting more and more layers of wrappers/adapter code, like a Russian doll. It contributes to dependency hell, as each layer brings new dependencies.

Developers often find it easier to wrap existing apps and software, and add another layer on top, rather than improving or replacing what exists.

[–] mehdi_benadel@lemmy.balamb.fr 3 points 1 year ago (1 children)

I use Cygwin in my build system so I don't have to rewrite commands for different systems.

[–] Boomkop3@reddthat.com 1 points 1 year ago

I'll be checking that out

[–] gari_9812@lemmy.world 3 points 1 year ago

Therapist: Young Willem Dafoe isn't real, he can't hurt you.

Young Willem Dafoe:

load more comments
view more: next ›