Bash is a popular shell used in Unix-like operating systems such as Linux and macOS. Bash scripting is a powerful tool for automating tasks and making complex operations more manageable. In this article, we’ll explore some of the most common Bash scripting commands and tips to help you get started with Bash scripting.

1. Variables

Variables are used to store data in Bash scripts. You can declare a variable by assigning a value to it, like this:

codename="John"

To use the variable, you can simply call its name with a dollar sign prefix:

echo "My name is $name"

2. Command-line arguments

You can pass arguments to a Bash script when executing it from the command line. These arguments can be accessed using special variables like $1, $2, etc. The first argument passed to the script is accessed using $1, the second using $2, and so on.

#!/bin/bash

echo "Hello, $1!"

You can run the script with:

$ ./script.sh John

Output:

Hello, John!

3. Loops Loops are used to execute a command multiple times. Bash supports for loops and while loops.

#!/bin/bash

for i in {1..10}
do
  echo "Iteration $i"
done

Output:

Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
Iteration 6
Iteration 7
Iteration 8
Iteration 9
Iteration 10

4. Conditional statements

Conditional statements are used to execute commands based on certain conditions. Bash supports if statements, elif statements, and else statements.

#!/bin/bash

age=18

if [ $age -lt 18 ]
then
  echo "You're not old enough to vote."
elif [ $age -ge 18 ] && [ $age -lt 21 ]
then
  echo "You can vote, but you can't drink."
else
  echo "You can vote and drink!"
fi

Output:

You're not old enough to vote.

5. Functions

Functions are used to group commands together into reusable blocks of code.

#!/bin/bash

function greet() {
  echo "Hello, $1!"
}

greet "John"

Output:

Hello, John!

6. Exit codes

Bash scripts can return exit codes to indicate the success or failure of a command. An exit code of 0 indicates success, while non-zero exit codes indicate an error.

#!/bin/bash

ls /tmp
if [ $? -eq 0 ]
then
  echo "Directory exists."
else
  echo "Directory does not exist."
fi

Output:

Directory exists.

These are just some of the most common Bash scripting commands and tips. Bash scripting can be a powerful tool for automating tasks and making complex operations more manageable. With practice and experimentation, you can become proficient in Bash scripting and take your automation skills to the next level.