Why keep using the Bash language in the administration of GNU / Linux servers when there are so many tools geared more towards devops, such as Ansible, Chef, Puppet, or Saltstack? (etc.)
There are good reasons why sh, and bash, which I consider a healthy evolution of it, remain, despite the passing decades, essential languages in the administration of Linux systems, and these reasons have nothing to do with resistance to change.
Although many "DevOps" tools offer a range of additional features and advantages in certain very specific situations, the simplicity, the flexibility, and the effectiveness of Bash make it an unmatched key tool in many situations.
Bash, when you have mastered it, remains the fastest and the most effective solution for quickly and easily automating any repetitive system task or process.
It takes only a few lines of code to perform complex tasks: configuring and setting up servers, services or clusters, managing system updates, installing and updating software not supported by your Linux distribution, etc.
Where most tools are suited only to standardised, controlled environments, Bash remains fully effective in "hostile", uncontrolled environments.
It can thus save you an enormous amount of time and spare you a great deal of trouble, by helping you maintain your servers more effectively and carry out one-off or recurring work on systems you do not control.
Bash has no limits when it comes to customisation, and can be completely adapted to *your* needs and specific requirements.
Most tools require a framework as rigid as it is inflexible, and do not let you reach that level of customisation or create scripts and commands so easily, tailored to the unique needs of your servers.
Finally, Bash is unbeatable for migrating environments that are not under the same technical responsibility. It also has the enormous advantage of being both the shell and the language, so you do not have to "translate" the operations you need to perform.
In conclusion, although DevOps tools have several interesting features of their own, such as a shorter learning curve, as well as certain attractive automation features, Bash remains, to this day, an indispensable tool: lightweight, valuable and essential for administering Linux servers, thanks to its simplicity, flexibility, and effectiveness.
—
Christophe Casalegno
You can follow me on: Twitter | Facebook | LinkedIn | Telegram | YouTube | Twitch


3 comments