Day 4: Basic Linux Shell Scripting for DevOps Engineers.

Day 4: Basic Linux Shell Scripting for DevOps Engineers.

What is Shell Scripting for DevOps?

Shell scripting for DevOps refers to the process of writing scripts using shell languages like Bash, Zsh, or other Unix-based shells to automate tasks in a DevOps workflow.

In simpler terms, shell scripting for DevOps involves creating scripts that can help DevOps engineers automate repetitive and time-consuming tasks, such as deploying applications, configuring servers, monitoring systems, and more. Shell scripts allow DevOps engineers to automate these tasks and make the entire process more efficient and reliable.

Some common examples of shell scripts used in DevOps include scripts for deploying applications, automating backups, setting up continuous integration and continuous deployment (CI/CD) pipelines, automating server configuration, and more.

Overall, shell scripting is an essential skill for DevOps engineers, as it helps them streamline their workflow, increase productivity, and reduce errors. By automating repetitive tasks using shell scripts, DevOps engineers can focus on more strategic and complex tasks that require their expertise.

What is #!/bin/bash? can we write #!/bin/sh as well?

#!/bin/bash is called a shebang or hashbang. It is the first line of a shell script and is used to specify the interpreter that should be used to run the script. In this case, #!/bin/bash specifies that the Bash shell should be used to run the script.

Yes, you can write #!/bin/sh instead of #!/bin/bash. This specifies that the Bourne shell (sh) should be used to run the script. However, it's important to note that Bash is a superset of the Bourne shell, which means that Bash includes all of the features of the Bourne shell and more. So, using #!/bin/bash instead of #!/bin/sh may be beneficial if you need to use Bash-specific features in your script.

In general, it's a good practice to use #!/bin/bash for Bash scripts and #!/bin/sh for POSIX-compliant shell scripts that don't use any Bash-specific features.

Write a Shell Script which prints I will complete the #90DaysOofDevOps challenge

Create a file named script.sh ,.sh is a shell script file which you can execute.

vim script.sh It will create a file and open it in a vim text editor

#!/bin/bash

echo "I will complete the #90DaysOfDevops Challenge."

When you will run this file it will the give the output specified in the echo command.

Write a Shell Script to take user input, input from arguments and print the variables.

#!/bin/bash

#Take user input for the name variable

echo "Enter your name:" read name

#Take command-line arguments for the age variable

age=$1

Print the variables

echo "Name: $name" echo "Age: $age"

This script uses the read command to take user input for the name variable, and then assigns the first command-line argument to the age variable using $1. The variables are then printed using the echo command and string interpolation ($name and $age).

To run this script, save it as a file (e.g. input_script.sh), make it executable using chmod +x input_script.sh, and then run it with the desired command-line argument(s):

Write an Example of If else in Shell Scripting by comparing 2 numbers

#!/bin/bash

# Assign two numbers to variables
num1=5
num2=10

# Compare the two numbers using if else statement
if [ $num1 -gt $num2 ]
then
  echo "$num1 is greater than $num2"
else
  echo "$num2 is greater than $num1"
fi