As a Ops/DevOps professional, I have many years of experience writing shell scripts. Probably you’re the same as me, right?
I deeply treasure my achievements with shell. Yes, I still do, even now. But I have to make a decision. Finally! Drop Shell And Embrace Python.
Why is that? Check this blog post and discuss with me.
DigitalOcean is inexpensive to AWS EC2. Surprisingly Linode is even 30%-40% cheaper than Digtialocean. Certainly Linode is much less matured to them both. But with reasonable compromise, Linode could be attracting to small business and individuals.
Enclosed is a detail VPS comparison report, based on my hand-on experience.
In bash scripting, it’s a good practice to exit for any unexpected/unhandled errors. Usually I enforce this by ‘bash -e myscript.sh‘. Today just got a surprise with ‘bash -e‘.
Check out below simple test. You might get bitten by this as well.
Ever need to check the output of shell functions/scripts? If no fatal/error messages found, resume normal procedure. Otherwise, go to error handling.
Usually people solve this, by redirecting stdout/stderr to grep command. But What About Time-consuming Functions/Scripts? Say several minutes. During this period, end users are blinded with nothing printed. It could be confusing and scaring to them.
Shell scripting is a must-have skill for DevOps. I used to be very very confident at Shell. But when I first tried ShellCheck, I realized that I’m just too proud and arrogant.
ShellCheck is a powerful code analysis tool for shell scripts. Like Pylint for Python or Rubocop for Ruby. Give it a try! You’ll get surprised.