DEV Community

Cover image for Step-by-Step Guide to Start Shell Scripting.
Md Abu Musa
Md Abu Musa

Posted on

Step-by-Step Guide to Start Shell Scripting.

Shell scripting is a way to automate repetitive tasks, manage system operations, and create custom utilities using a command-line interpreter, like bash, sh, zsh, or ksh. A shell script is simply a text file containing a series of commands that you would normally type into a terminal manually.

Step-by-Step Guide to Start Shell Scripting:

Step 1: Understanding Shell Scripting

  • Definition: Shell scripts are files containing sequences of shell commands to be executed in order.
  • Purpose: Automate tasks like backups, system monitoring, file manipulations, and installations.
  • Basic Shells: Common shell interpreters include:
    • bash (Bourne Again Shell)
    • sh (Bourne Shell)
    • zsh (Z Shell)
    • ksh (Korn Shell)

For beginners, the bash shell is the most widely used and recommended.


Step 2: Setting Up the Environment

  1. Choose an Editor:
    Use a text editor to create and edit shell scripts:

    • CLI Editors: nano, vim, emacs
    • GUI Editors: VS Code, Sublime Text, Atom
  2. Create a New Script File:
    Open the terminal and create a new file using the touch command:

   touch my_first_script.sh
Enter fullscreen mode Exit fullscreen mode
  1. Make the Script Executable: To execute your script, it must have executable permissions. Grant it using chmod:
   chmod +x my_first_script.sh
Enter fullscreen mode Exit fullscreen mode

Step 3: Writing a Basic Shell Script

  1. Open the Script in an Editor:
   nano my_first_script.sh
Enter fullscreen mode Exit fullscreen mode
  1. Start with a Shebang: The first line of a shell script should specify the shell to use, using the shebang (#!) syntax:
   #!/bin/bash
Enter fullscreen mode Exit fullscreen mode

This tells the system that it should use the bash shell to run the script.

  1. Add Commands: Begin by adding some basic commands:
   #!/bin/bash
   echo "Hello, World!"
Enter fullscreen mode Exit fullscreen mode
  • echo is used to print text to the terminal.
  1. Save and Exit: In nano, press CTRL + X, then Y, and hit ENTER to save and exit.

Step 4: Running Your First Shell Script

  1. Execute the Script: In the terminal, run the script by specifying its path:
   ./my_first_script.sh
Enter fullscreen mode Exit fullscreen mode

You should see the output:

   Hello, World!
Enter fullscreen mode Exit fullscreen mode

Step 5: Adding Logic and Functionality

Expand your script by adding variables, conditional statements, loops, and functions:

  1. Variables:
   #!/bin/bash
   name="John"
   echo "Hello, $name!"
Enter fullscreen mode Exit fullscreen mode
  1. Conditionals:
   #!/bin/bash
   age=25
   if [ $age -ge 18 ]; then
       echo "You are an adult."
   else
       echo "You are a minor."
   fi
Enter fullscreen mode Exit fullscreen mode
  1. Loops:
   #!/bin/bash
   for i in 1 2 3 4 5; do
       echo "Iteration: $i"
   done
Enter fullscreen mode Exit fullscreen mode
  1. Functions:
   #!/bin/bash
   greet() {
       echo "Hello, $1!"
   }

   greet "Alice"
   greet "Bob"
Enter fullscreen mode Exit fullscreen mode

Step 6: Handling Input and Output

  1. Read User Input:
   #!/bin/bash
   echo "Enter your name:"
   read name
   echo "Welcome, $name!"
Enter fullscreen mode Exit fullscreen mode
  1. Redirecting Output: Save command output to a file:
   echo "This is a log file." > log.txt
Enter fullscreen mode Exit fullscreen mode
  1. Appending to Files: Append content to an existing file:
   echo "This will be added to the log file." >> log.txt
Enter fullscreen mode Exit fullscreen mode
  1. Handling Arguments: Use positional parameters to handle script arguments:
   #!/bin/bash
   echo "The first argument is: $1"
   echo "The second argument is: $2"
Enter fullscreen mode Exit fullscreen mode

Run with:

   ./my_first_script.sh arg1 arg2
Enter fullscreen mode Exit fullscreen mode

Step 7: Debugging and Improving Your Script

  1. Debugging: Run the script with -x to see each command as it is executed:
   bash -x my_first_script.sh
Enter fullscreen mode Exit fullscreen mode
  1. Comment Your Code: Use comments (#) to explain your code:
   # This is a comment
   echo "Hello, World!"  # Print Hello
Enter fullscreen mode Exit fullscreen mode
  1. Error Handling: Use || and && for simple error handling:
   mkdir new_directory && cd new_directory || echo "Failed to create or navigate to directory."
Enter fullscreen mode Exit fullscreen mode

Top comments (0)