but yea, shell is foremost a composition language/environment
Sometimes options are limited to what you know already.
You mean, the complexity of shell coding? Any operation that in a regular language is like foo.method(arg) in shell expands into something like ${foo#/&$arg#%} or `tool1 \`tool2 "${foo}"\` bar | xargs -0 baz`.
Note what you just said: when you want an object with a method that takes a parameter, you find bash too complex.
You gave an example that is not appropriate for bash.
However, bash does have functions. So if you don't need an entire underlying object system just to run your logic, you could have
function foomethod () {
parm1=$1
#more logic
}Be damned the day I decided to write a set of scripts in it rather than looking for a way to make typescript my daily driver, like it is now. Bash “code” “base” is one of the worst programming jokes.
I don't think LOC is the correct criterion.
I do solve many problems with bash and I enjoy the simplicity of shell coding. I even have long bash scripts. But I do agree that shell scripting is the right solution only if