How to Use Bash Loadable Builtins with enable -f
Learn how to compile and load C shared libraries directly into a running Bash shell process using the enable -f builtin command.
How to Check, Lint, Format, and Test a Bash Script
How to check syntax, lint, format, and test Bash scripts with bash -n, ShellCheck, shfmt, and Bats, including the exact flags for each tool.
Common Bash Error Messages on Linux and macOS (and How to Fix Them)
What common Bash errors mean and how to fix them: command not found, permission denied, bad substitution, ambiguous redirect, and more.
How To Calculate IP Subnets and Netmasks in Linux and macOS?
How to convert between CIDR prefixes and netmasks, and calculate network, broadcast, and usable host ranges with ipcalc, sipcalc, python3, and Bash.
How to Master String Pattern Matching using Bash Character Classes
Exploring the power of GNU bash character classes for efficient pattern matching in regular expressions, with an example script to generate an ASCII table.
Top 10 Bash Pitfalls You Don't Want to Make
This blog post provides an informative guide to common pitfalls in GNU Bash shell and offers practical tips and solutions for avoiding or resolving them.
5 Simple Steps On How To Debug a Bash Shell Script
Learn how to quickly debug scripts in Bash with those 5 simple steps that use some of the Bash shell special properties.
A Complete Guide to the Bash Environment Variables
A complete guide on the Linux Bash environment variables with details on how to set, unset, and use the specials shell variables or define custom environment variables.
How To Make A Custom Bash Shell Prompt
Learn how to customize your shell prompt and the specificity of the Bash Prompt variables PROMPT_COMMAND, PROMPT_DIRTRIM, PS0, PS1, PS2, PS3, and PS4.
The Most Useful Bash Shortcuts That You Will Want To Use
A detailed review of the most useful Terminal and Bash shortcuts to improve your productivity when typing command-lines and how to customize the ones you don't like.
The Complete How To Guide of Bash Functions
Learn how to write shell scripts with bash functions. This guide includes examples and best practices on how to define, call, and debug functions in bash.
How To Create Simple Menu with the Shell Select Loop?
The select loop is not a regular shell loop. It can be used in Bash to generate a simple menu from which a user can select numbered options.
What is the Right Way to do Bash Loops?
Looping over a list of numbers or words is a building block in shell scripts. Learn how to write Bash loops, including for loop, while loop, and until loop.
What is the Best Way to Count Files in a Directory?
Learn how to count the number of files in a directory using the Linux command line ls, find, and a native bash shell solution with globs and arrays.
5 Mistakes To Avoid For Writing High-Quality Bash Comments
Adding comments in your Bash scripts is necessary to ensure maintainability over time. This post covers 5 Bash comments mistakes to avoid in your shell scripts.
How To Script Error Free Bash If Statement?
Learn how to script a Bash If statement with the then, else, and else if / elif clauses. Includes Bash conditional expressions and common pitfalls to avoid.
What is the Bash Null Command?
Learn about the Bash null command, also known as the POSIX shell colon command. This post cover concrete use cases and pitfalls to avoid.
How To Format Date and Time in Linux, macOS, and Bash?
This guide covers how to format date and time in Linux, Mac, and the Bash shell. Includes how to do date shell operations like adding days or comparing dates.
How To Use Option as Meta Key in macOS Terminal?
The Meta Key is a modifier key that can be quite helpful to improve your productivity while working in a terminal and bash. This post cover how to enable from the command line the Meta Key in macOS Terminal.
Mastering Bash with Tips and Tricks
Collection of Blog posts for Mastering the Bash shell. Including manipulating bash arrays, using bash if statement, doing bash arithmetic, and more.
Mastering Windows with Tips and Tricks
Collection of Blog posts for Mastering Windows. This section covers topics from Windows WSL to legacy Windows XP and Batch scripting content.
Must Have Cheat Sheets
Collection of cheatsheets with all the essentials you need from Bash to Vi/Vim and Linux.
How and When to Use the Dot Command in Bash?
Learn the difference between the dot command (.) and a dot file notation. This post cover how and when you should leverage the dot command to execute a Bash script.
Running Bash script with Ubuntu on Windows 10 using WSL
No-hassle! Learn how to run Bash on Windows by installing your favorite Linux distribution natively on Windows 10 using Windows Subsystem for Linux, aka WSL.
How to Parse a CSV File in Bash?
Learn how to parse a CSV file in Bash and avoid the common pitfalls. Includes examples using bash builtins and the awk command line.
Bash Error: Must Use Subscript When Assigning Associative Array
How to solve the Bash Error "must use subscript when assigning associative array". This post covers why it is occurring and how to fix the error when using Bash arrays.
A Complete Guide on How To Use Bash Arrays
This guide covers how to use the bash array variables as indexed or associative bash arrays. Includes how to declare, iterate over, sort, and other array operations.
How To Upgrade your Bash Version on Mac OS?
MacOS comes with an outdated version Bash which can be limiting in shell scripts. This post explain how to upgrade your Bash version on Mac from the command line.
What's New in GNU Bash 5?
Bash version 5 is generally available and comes with some important improvements and new features like BASH_ARGV0, EPOCHSECONDS, and EPOCHREALTIME.
How To Do Advanced Math Calculation Using bc?
Learn how to use the GNU Linux bc command line to do math arithmetic and algebra with square root, sine, cosine, tangent, arctangent, bessel, and more.
Disown a running shell process and reattach it to a new screen
This post cover the basics of shell jobs management and terminal screen sessions. It covers how to detach a running job from your current shell and how to attached it to a new TTY session.
Redirecting a stdout to a file using sudo and tee
Learn how to address a permission denied error when trying to edit a file on Linux and work around some sudo issues. This post include a simple vim tips to save changes to a file with sudo right from your editor.
Download files from a Bash Shell
Introduction to the essential function of downloading files directly from a Bash script. This is a common task in any kind of backup/restore automation or in crawling scenarios to retried some kind of data on a regular basis.
Linux sysctl configuration and tuning script
Legacy post providing a custom script to auto-tune your Linux kernel and sysctl options based on your server specifications.
Math Arithmetic: How To Do Calculation in Bash?
Learn how to do math arithmetic with integer and floating-point in Bash. Includes addition, subtraction, division, multiplication, and also floating-point precision.
How To Generate Sequences of Letters or Numbers?
Learn how to use seq command line and the bash braces expansion to generate sequences of letters or numbers in your shell scripts.
A Quick Guide on How to Use Bash Alias
This post cover the Bash builtin commands alias and unalias. You will often find Bash alias in a customized .bashrc to improve your shell command-line workflow.
Bash Quick References: A One Page Cheat Sheet
A one-page of Bash quick references, aka cheat sheet, to help you script faster and better. Good material from newbies to regular basher.
How to Reload or Change your current Shell?
Learn the basic steps to reload your Linux shell to apply your recent configurations changes. This post cover the POSIX exec builtin command in Bash and the GNOME shell.
How To Use Bash Wildcards for Globbing?
Improve your productivity at the Linux command line and in Bash scripting with globbing by using Wildcards as glob patterns or extended glob expressions.
How To Find Quickly A Bash Command Type?
Learn how to find out the type of a shell command and the definition of an alias or function by using the type or command Bash builtins.
