why?
Because bash feels clunky to write and work with for anything non-trivial, especially compared to other scripting languages.
Why not another scripting language (no compile necessary)?
Because bash and sh are installed nearly everywhere. Any other scripting language means the user is required to have that installed, and that is far less likely to be the case.
If I could write my scripts in a nice syntax, but be sure my users will be able to use it effortlessly by distributing to them compiled versions, then that would make both of our lives easier!
Thoughts? Are there any languges that do this?
Doesn’t powershell do this? I’ve been learning powershell, and they keep making a tech agnostic claim along these lines, but I haven’t tested it on Linux yet.
Powershell exists for Linux, that’s probably what they’re talking about. Since Poweshell has objects and shell commands typically dump out text which then needs to be parsed with regex or something, I don’t anticipate there would be an easy conversation tool.
Not quite - even in PowerShell 7 there are some features that only work on Windows and Windows only comes with PowerShell 5.1 by default.
I used it on a Mac and on Windows, for me it feels very modern when compared to bash (although I never was a bash expert).
However, the problem is that it’s not installed by default on Linux (at least on most distros as far as I know) and Mac, and Windows machines might have an outdated version which you’ll have to take into account.
So unfortunately it doesn’t meet OP’s criteria that it should “just work” without installing an interpreter.