Learn about logical operators and shell expansions, in the second article in this multi-part series on programming with Bash. Author’s note: The articles in this series first appeared at Opensource.com. The original articles consisted of two series and the rest were published as stand-alone articles. These have all been merged into a single series with updates and modifications for that purpose.
Tag: bash script
Master Bash scripting with our guide on how to verify if a file or directory exists. Includes examples and best practices for reliable scripts.
Explains how to check if a bash shell script is being run or executed by the root user account under Linux, macOS, Unix and BSD.
In the course of my career, I’ve periodically come across code like this in shell scripts:
Or sometimes, slightly more elegantly:
The problems with the first example are obvious, especially if it appears in many different scripts. The second is better. The “$$” means “my process ID”, who if whatever script had a process ID of 5309, the TEMPFILE variable would be set to /tmp/tempfile.5309. This makes collisions between scripts extremely unlikely, but is still suboptimal. What if there is a file called /tmp/tempfile.5309 and it’s owned by another user, or what if you don’t have permission to write to /tmp? It’d be better to find out immediately than many lines later when you try to write something. …
The following concepts modernize your automation scripts with some lesser-known modern Bash scripting techniques.
This guide explains how to use date command in Bash scripting and how to work with date and time in shell scripts in Linux.
When spending most of your day around bash shell, it is not uncommon to waste time typing the same commands over and over again. This is pretty close to the definition of insanity.
Luckily, bash gives us several ways to avoid repetition and increase productivity.
Today, we will explore the tools we can leverage to optimize what I love to call “shell time”.
Minimal Bash script template that will make your scripts safer, consistent with standards, and provide a way to parse and validate parameters.
Writing shell scripts leaves a lot of room to make mistakes, in ways that will cause your scripts to break on certain input, or (if some input is untrusted) open up security vulnerabilities. Here are some tips on how to make your shell scripts safer.
Source: Writing Safe Shell Scripts (MIT Student Information Processing Board)
I call this the unofficial bash strict mode. This causes bash to behave in a way that makes many classes of subtle bugs impossible. You’ll spend much less time debugging, and also avoid having unexpected complications in production.
Source: Use the Unofficial Bash Strict Mode (Unless You Looove Debugging) (aaron maxwell)