In this thread we determine the BEST shell scripting language

One shell script to rule them all
Note: This is strictly about scripting. There is no need for any debate over the best user interface, as Fish shell exists. The science is settled here. Only fish deniers on the fringe say otherwise.

Suppose we have created the ideal operating system. It is implemented in your favorite low level language with a performant implementation Ada, but now we need a scripting language to glue bits together.

If there could be only one, which would it be? Does Posix really matter to you. Do you believe in the cross-platform meme? Bourne, Bash, Ksh, Fish (as a scripting language no) or perhaps you think a general purpose language like Python, Perl or even Scheme should be used.

Other urls found in this thread:

skarnet.org/software/execline/
tldp.org/LDP/abs/html/string-manipulation.html
twitter.com/NSFWRedditImage

Powershell

There is no need for any debate over the best user interface, as ZSH shell exists.

If I could only have one it'd probably be python. It's not the greatest scripting language, but it's versatile and can do everything I'd ever require of a scripting language on any system I'd need to use.

c

The ideal operating system would include the ideal scripting language (ie not fucking Python)

And what would that be...?

Even javascript wouldn't be a worse choice than C.

-PowerShellIsGreat -ItsLikeWritingJavaButNowAsShellscript -StupidGnuFagsAndTheirShortCommandlines -HowWouldYouPadBillableHoursThatWay

Core in Ada, Scripted in Scheme: This needs to exist.

I choose execline. The only scripting language so simple and lightweight it doesn't need a runtime interpreter. Also one of the very few good applications of continuation passing style.
skarnet.org/software/execline/

bat
I get shivers every time I read @echo off

Make it happen. I'd use it.

cuck

Smalltalk scripting.

Do you mean best besides Bash shell scripting? It's strange you would ask a question where the answer is already commonly known.

Was gonna come in here and recommend FISH but it seems OP is already a patrician of high taste.

Bash is a mess, it's not the best we can do.

Assembly for the relevant CPU. When you press enter it's assembled and executed.
If you run a different kind of CPU the same thing happens but it's run in an emulator.

LARPers leave

If only it had a good scripting language

We? I'm sorry were you involved an any aspect of creating ... anything?

Take a remedial English course.

A very interesting choice, that's a very readable language.

Thanks to automatic parameter shortening in Powershell your custom parameters can be written as
-p -i -s -h

I'll take this as no

The ideal scripting language doesn’t exist. Maybe the perfect operating system doesn’t even need a scripting language because every aspect of the operating system is written in a high level interpreted language that can be modified by the user on the fly. Now shoo.

Interpreted by what, the processor?
Ah, you're a weirdo as well as having no clue how computers work.

...

Right tool for the right job.
/thread

A JIT compiler

Some tools are never right, like Perl.

Sit in a corner and think about what you said

Bash(also sh but not so often) and python are the best scripting languages in systems. Lua and racket/scheme are the best when embedded in programs.

zsh, csh, ksh are just hackjobs, trying to lure innocent kids into using them because of a single ,,glamorous,, feature.

Disgustingly inconsistent, you want to talk about a hack, that how bash has been extended to do more that it ever should have.
tldp.org/LDP/abs/html/string-manipulation.html

Bash is good by virtue of being widely used and popular.

HolyC unironically

As a redditor, and occasional coder, I really think we need to move the community towards convergence on Javascript. Lots of activity in that space, and quite empowering when combined with container computing like docker.

...

Bingo. Knowing which tool to use is almost an art in and of itself. You don't want a bunch of logic in the shell script; it should be process glue only.

On my Windows 10 development workstation, I have a lot of automation. I've got a shortcut key mapped to an AutoHotkey script launches a script selection dialog, dynamically populated by my script directory (usually .bat and powershell scripts). The scripts will re-launch themselves in Administrator mode if necessary, and then call .NET or Java executables to do any heavy lifting.

Which is why execline is so great. The inherent simplicity of it makes process glue fast and bunches of logic slow, encouraging good scripting practice.