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.

You are viewing a single thread.
View all comments View context
15 points

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?

permalink
report
parent
reply
1 point
*

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. ;)

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
2 points

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…

permalink
report
parent
reply
1 point

Python is always something I intend to learn but never get around to. Does it natively handle GUI for process tooling or does it require a third party? What makes PowerShell so useful to me is the native ability to create visual applications without the need to compile. I can create tools for my company that launches right out of ConfigMgr Software Center and other technicians can contribute without needing a programming background.

At home I want to mess around with tooling for home services without having to resort to web development.

permalink
report
parent
reply
1 point

I can create tools for my company that launches right out of ConfigMgr Software Center and other technicians can contribute without needing a programming background.

Now this is a bit of magic I would like to learn. I read through PowerShell in a month of lunches a couple of years ago and it’s saved my butt a couple of times. I’m due for a re-read though. Would you have a source on where I could go to learn more about creating GUI applications in PowerShell?

permalink
report
parent
reply
2 points

To be honest, I’m not the best to ask about Python. I need more rigid languages for my daily job, so it’s much quicker for me to just throw down a small project in one of those.

I do know, though, that Python comes with Tkinter out of the box. People usually don’t praise that all too much, but it’s probably fine for small GUIs.

However, it’s almost certainly worse than Powershell/.NET for creating Windows-only GUIs.

If you’d like to write GUIs on the Linux side, then I would frankly recommend not doing that.
No Linux sysadmin wants a GUI to deal with. If you give them a CLI, then they can automate that, i.e. integrate it into yet another (probably Bash) script.
Not to mention that most Linux servers don’t even have a graphics stack installed…

permalink
report
parent
reply
6 points

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

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
4 points
*
Deleted by creator
permalink
report
parent
reply
1 point

OMG the naming schemes for powershell is enough for me to stay away. A +20char name for a command that shares the first 10 chars with 15 other commands, so you can’t just tab through it? No thanks!

Will look into nushell though, thanks for the advice.

permalink
report
parent
reply
1 point
*
Deleted by creator
permalink
report
parent
reply
1 point

Thanks for the reference. I’m looking at it and I think you’re right.

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

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

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 6.8K

    Monthly active users

  • 1.4K

    Posts

  • 32K

    Comments