DAY- 4 : Basic Linux Shell Scripting for DevOps Engineers

DAY- 4 : Basic Linux Shell Scripting for DevOps Engineers

ยท

3 min read

Introduction ๐Ÿ“š

Welcome to Day 4 of the thrilling #90DaysOfDevOps challenge! ๐ŸŒŸ Today, we'll dive into the basics of Linux shell scripting and its significance for DevOps engineers. Shell scripting is a powerful skill that empowers you to automate tasks, manage system settings, and supercharge DevOps workflows. ๐Ÿ’ป๐Ÿš€ Let's jump right in and master the essentials of shell scripting together! ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ“

What is shell Scripting?

Shell scripting is the practice of writing and executing a series of commands in a shell (command-line interpreter) to automate tasks, perform system administration, or run a sequence of operations. The shell is a program that acts as an interface between the user and the operating system, allowing users to interact with the computer's resources through commands.

What is Shell Scripting for DevOps?

Shell scripting for DevOps refers to the use of shell scripts to automate various tasks and processes in the context of DevOps practices. DevOps is a set of practices that aim to improve collaboration and communication between software development and IT operations teams, to deliver applications and services more quickly and reliably.

In Unix-like operating systems (such as Linux and macOS), the most common shell is the Bourne shell (sh), also called as Bourne-Again Shell (bash), the Korn Shell (ksh), the Z Shell (zsh), and others. In Windows, the primary shell is the Command Prompt (cmd.exe)

What are the Benefits of Shell Scripting in Devops?

Shell scripting plays a crucial role in DevOps and offers several benefits that contribute to efficient and streamlined software development, deployment, and operations.

  • Automation: Shell scripts are used to automate various tasks, such as building, testing, and deploying applications. By automating repetitive processes, developers and operations teams can save time and reduce the risk of human errors.

  • Infrastructure as Code (IaC): Shell scripts can be used to define and manage infrastructure configurations, making it easier to provision and manage resources in cloud environments or on-premises.

  • Easy Integration: Shell scripts can integrate with other tools and services commonly used in the DevOps workflow, such as version control systems, continuous integration/continuous deployment (CI/CD) pipelines, and monitoring tools.

  • Customization: DevOps environments often have unique requirements. Shell scripting allows teams to create custom scripts tailored to their specific needs and workflows.

  • Portability: Shell scripts are typically platform-independent, allowing them to run on various operating systems and distributions. This portability is beneficial for heterogeneous environments.

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

#!/bin/bash is called a "shebang" or "hashbang," and it is a special line used in Unix-like operating systems (such as Linux and macOS) used to instruct the operating system to use bash as a command interpreter.

When you place #!/bin/bash at the beginning of a script file, it tells the system to use the Bash shell (Bourne Again SHell) as the interpreter for executing the commands in the script.

Similarly, you can use #!/bin/sh to specify the Bourne shell as the interpreter. The Bourne shell is simpler compared to Bash and is available on almost all Unix-like systems.

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

Shell Script:

Output:

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

Shell Script:

Output:

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

Shell Script:

Output:

Did you find this article valuable?

Support Sahil Kamble's blog by becoming a sponsor. Any amount is appreciated!

ย