Re: Bash gets the extend, embrace, extinguish treatment
Whilst I agree with your general sentiments, there are things that PowerShell can do that ksh, bash and all of the other derived shells just can't.
Unix shells are great at the "stream of bytes arranged as lines" way of passing data, and when you are in a CLI environment, where people interacted with the systems through line-by-line interfaces (as opposed to form or even GUI based admin methods, this works well. As Linux is a derivative of UNIX (albeit a non-linear re-implementation), and most things have command-with-arguments or file based administration methods, things work great. Even where there are GUIs, more often than not they are grafted on top of the shell commands that actually do the work, which you could just have easily run from a shell script.
But things are changing. More and more, settings are stored in XML or object based storage, and unless you have a command that you cal call from the shell to manipulate these object, shell does not hack it anymore.
Some time ago, I tried to control some KDE processes (specifically knotes) that talked via kdbus or dbus or somesuch, and there were some objects that could be returned which did not map conveniently into something that a shell process (even using awk to help) could cope with, because the object-to-object mapping was very difficult to represent.
The more OS administration relies on objects that can no longer be represented in stanza or delimited files (and I include XML and related files in the 'difficulr' category), the less likely it is that bash et. al. will be able to hack it.
Of course, you could say "what's wrong with stanza or delimited files", but that is a completely different discussion, but basically as the systems get more complicated, the associations between different subsystems and objects just get too complicated to represent in flat files.
I don't like PowerShell becoming the default shell for administering *IX systems, but there is a need for something with more that flat file manipulation, and unfortunately us UNIX and Linux admins have been able to just about hack it using script gymnastics in Posix type shells and related commands up until now, so nothing more capable caught on in our space. We're as much to blame as Microsoft (I'm sure there are object based shells, but I can't name one off the top of my head, which shows how well they've penetrated the *IX space).
I feel really old. As a 40+ year veteran of UNIX and related systems, I am used to the traditional ways of doing things, and all of the PowerShell, systemd, Object and database based configuration and software communication busses just make me think that I'm past the point of being able to move on in to the future in the IT industry.
But I do wonder whether all this new complexity is actually worth it in the long run. Soon you will need an AI just to be able to administer some of these complex systems, and human beings just won't be up to the task.
Try to fix a broken system? You're having a laugh!