Memoir

Shell Script Exercises With Solutions

J

Jamar Heller

July 7, 2026

Shell Script Exercises With Solutions

Shell Script Exercises with Solutions: Sharpen Your Scripting Skills

shell script exercises with solutions are a fantastic way to deepen your understanding

of command-line automation and Linux shell programming. Whether you're a beginner

aiming to grasp the basics or an intermediate user looking to polish your scripting

abilities, working through practical examples can make all the difference. In this article,

we'll explore a variety of shell script exercises complete with explanations and solutions,

helping you build confidence and proficiency in writing effective shell scripts.

Why Practice Shell Script Exercises?

Shell scripting is a powerful tool for automating repetitive tasks, managing system

configurations, and simplifying complex workflows. However, like any programming skill,

the key to mastery lies in practice. Shell script exercises with solutions provide a hands-on

approach to learning, allowing you to:

Understand core scripting concepts such as variables, loops, and conditionals.

Familiarize yourself with common shell utilities like grep, awk, sed, and find.

Learn how to handle input/output redirection and manage files and directories

efficiently.

Develop debugging skills to troubleshoot and optimize scripts.

By actively engaging with exercises, you transition from passive learning to problem-

solving, which is crucial for internalizing the nuances of shell scripting.

Getting Started: Basic Shell Script Exercises with Solutions

Before diving into complex scripts, it’s important to get comfortable with the

fundamentals. Here are some beginner-friendly shell script exercises designed to build a

solid foundation.

Exercise 1: Hello World Script

Write a shell script that prints "Hello, World!" to the terminal.

Solution:

```bash

#!/bin/bash

echo "Hello, World!"

```

This simple script introduces the shebang (`#!/bin/bash`), which tells the system to use

the Bash shell interpreter. The `echo` command outputs text to the terminal.

Exercise 2: Check if a Number is Even or Odd

Create a script that accepts a number as input and determines whether it's even or odd.

Solution:

```bash

#!/bin/bash

read -p "Enter a number: " num

if (( num % 2 == 0 )); then

echo "$num is even."

else

echo "$num is odd."

```

This exercise introduces user input handling (`read`), arithmetic operations, and

conditional statements.

Exercise 3: List Files in a Directory

Write a script that lists all files in the current directory.

Solution:

```bash

#!/bin/bash

echo "Files in $(pwd):"

ls -l

```

This script uses command substitution `$(pwd)` to display the current directory, and `ls -

l` to list files with details.

Intermediate Shell Script Exercises with Solutions

Once you’re comfortable with the basics, it’s time to tackle exercises that challenge your

understanding of loops, functions, and file manipulation.

Exercise 4: Sum of Numbers in a Range

Write a script that calculates the sum of numbers from 1 to a user-specified number.

Solution:

```bash

#!/bin/bash

read -p "Enter a positive integer: " n

sum=0

for (( i=1; i<=n; i++ ))

do

sum=$((sum + i))

done

echo "Sum of numbers from 1 to $n is $sum."

```

This script demonstrates the use of a `for` loop and arithmetic expansion.

Exercise 5: Backup Files with Timestamp

Create a script that copies all `.txt` files from a directory to a backup folder appending the

current date.

Solution:

```bash

#!/bin/bash

backup_dir="backup_$(date +%Y%m%d)"

mkdir -p "$backup_dir"

cp *.txt "$backup_dir/"

echo "Backup completed to $backup_dir."

```

Here, you learn about creating directories dynamically, using date formatting, and

copying files.

Exercise 6: Function to Check Disk Usage

Write a script that defines a function to check disk usage and alerts if the usage exceeds

80%.

Solution:

```bash

#!/bin/bash

check_disk_usage() {

usage=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')

if [ "$usage" -gt 80 ]; then

echo "Warning: Disk usage is above 80% ($usage%)."

else

echo "Disk usage is under control ($usage%)."

}

check_disk_usage

```

This example introduces functions, command pipelines, and text processing tools like

`awk` and `sed`.

Advanced Shell Script Exercises with Solutions

For those eager to push their scripting to the next level, these exercises involve file

parsing, process management, and more sophisticated logic.

Exercise 7: Monitor and Kill a Process by Name

Write a script that checks if a process with a specified name is running. If found, prompt

the user to terminate it.

Solution:

```bash

#!/bin/bash

read -p "Enter process name to check: " pname

pid=$(pgrep "$pname")

if [ -z "$pid" ]; then

echo "No process named '$pname' is running."

else

echo "Process '$pname' is running with PID(s): $pid"

read -p "Do you want to kill it? (y/n): " answer

if [[ "$answer" =~ ^[Yy]$ ]]; then

kill $pid

echo "Process(es) killed."

else

echo "Process(es) left running."

```

This script practices process management commands like `pgrep` and `kill`, along with

user interaction.

Exercise 8: Parse a CSV File and Extract Specific Columns

Create a script that reads a CSV file and prints the first and third columns.

Solution:

```bash

#!/bin/bash

file="data.csv"

while IFS=',' read -r col1 col2 col3 col4

do

echo "Column 1: $col1, Column 3: $col3"

done < "$file"

```

Understanding how to process files line-by-line and handle field separators (`IFS`) is

critical in shell scripting.

Exercise 9: Recursive Directory Size Calculator

Write a script that calculates the total size of a directory and all its subdirectories.

Solution:

```bash

#!/bin/bash

read -p "Enter directory path: " dir

if [ -d "$dir" ]; then

size=$(du -sh "$dir" | cut -f1)

echo "Total size of $dir is $size."

else

echo "Directory does not exist."

```

Using `du` and conditional tests, this script provides a practical utility.

Tips for Effective Shell Scripting Practice

Working through shell script exercises with solutions is not just about copying and running

code. To truly benefit:

**Experiment**: Modify existing scripts to see how changes affect behavior.

**Document**: Comment your scripts to clarify logic and purpose.

**Debug**: Use `set -x` to trace script execution and diagnose issues.

**Read Manuals**: Commands like `man bash` or `man awk` provide deep insights.

**Automate Real Tasks**: Try writing scripts for your daily repetitive tasks to build

relevance.

Additionally, exploring different shells (e.g., Bash, Zsh) can broaden your scripting

capabilities.

Where to Find More Shell Script Exercises with Solutions

Beyond this article, numerous online platforms and books offer extensive collections of

shell scripting challenges. Websites like GitHub repositories, coding challenge platforms,

and forums such as Stack Overflow are treasure troves for practical problems and

community solutions. Also, many Linux tutorials come bundled with exercises that

simulate real-world scenarios, further enhancing your learning journey.

Embarking on shell script exercises with solutions is a rewarding way to transform

theoretical knowledge into tangible skills, empowering you to automate and optimize your

computing environment confidently.

Question

Answer

What are some beginner-

friendly shell script

exercises with solutions?

Beginner-friendly shell script exercises include writing

scripts to display "Hello World", creating a script to list files

in a directory, writing a script to check if a file exists,

looping through numbers and printing them, and creating

simple menu-driven scripts. Solutions typically involve

basic shell commands like echo, ls, if statements, and

loops.

How can I practice shell

scripting with real-world

examples?

You can practice shell scripting by automating routine tasks

such as backup scripts, log file analysis, user account

management, process monitoring, and file manipulation.

Many online resources provide exercises with solutions that

simulate these real-world scenarios to enhance your

scripting skills.

Where can I find free shell

script exercises with

solutions online?

Free shell script exercises with solutions can be found on

websites like GeeksforGeeks, Tutorialspoint, HackerRank,

and GitHub repositories. These platforms offer a variety of

problems ranging from basic to advanced levels, helping

you practice and learn effectively.

What are some

intermediate shell script

exercises to improve my

skills?

Intermediate exercises include writing scripts to parse text

files, automate system updates, monitor disk usage and

send alerts, manipulate arrays and strings, and handle

command line arguments and options. Solutions usually

involve advanced shell features like case statements,

functions, and regular expressions.

Can you provide a sample

shell script exercise with

solution for loops?

Exercise: Write a shell script to print numbers from 1 to 10

using a for loop. Solution: #!/bin/bash for i in {1..10} do

echo $i done This script uses a for loop to iterate from 1 to

10 and prints each number.

How do I write shell script

exercises focusing on file

operations?

Exercises focusing on file operations might include writing

scripts to create, read, write, copy, move, and delete files

or directories, as well as checking file permissions and

sizes. Solutions use commands like touch, cat, cp, mv, rm,

test, and stat combined in scripts to perform these

operations.

What are some

challenging shell scripting

exercises with solutions?

Challenging exercises include writing scripts for log file

rotation, parsing complex configuration files, automating

deployment processes, implementing backup and restore

mechanisms with error handling, and creating interactive

scripts with user input validation. Solutions require a good

understanding of shell scripting concepts, error checking,

and sometimes integration with other tools.

Shell Script Exercises with Solutions: Enhancing Command Line Proficiency

shell script exercises with solutions form an essential component for anyone aiming

to master the Unix/Linux command line environment. As shell scripting remains a

foundational skill for system administrators, developers, and IT professionals, engaging

with practical exercises bridges the gap between theoretical understanding and real-world

application. This article delves into a curated set of shell script exercises accompanied by

their solutions, enabling learners to sharpen their scripting capabilities while gaining

insight into common pitfalls and best practices.

Understanding the Importance of Shell Script Exercises with

Solutions

Shell scripting automates repetitive tasks, streamlines system management, and

enhances productivity. However, without hands-on practice, grasping the nuanced syntax,

control structures, and command utilities often proves challenging. Exercises that come

with step-by-step solutions provide immediate feedback, allowing learners to identify

errors, understand logic flow, and internalize scripting conventions. Moreover, such

exercises cater to a broad skill spectrum—from beginners learning variables and loops to

advanced users implementing process management and text manipulation.

Incorporating shell script exercises with solutions into training curriculums or self-study

regimes significantly accelerates the learning curve. They also help in preparing for

certification exams like the Linux Professional Institute Certification (LPIC) or Red Hat

Certified Engineer (RHCE), where scripting proficiency is tested rigorously.

Core Categories of Shell Script Exercises

When exploring shell script exercises with solutions, it is beneficial to categorize them

according to key scripting concepts. This approach ensures comprehensive coverage and

facilitates progressive learning.

1. Basic Syntax and Variable Manipulation

Beginners often start by understanding how to declare variables, read user input, and

print output. Exercises in this category emphasize:

Setting and using variables

1.

Reading input via read

2.

Using echo and printf for formatted output

3.

Example Exercise: Write a script that asks for the user's name and age, then outputs a

greeting message including these details.

Solution snippet:

#!/bin/bash

echo "Enter your name:"

read name

echo "Enter your age:"

read age

echo "Hello, $name! You are $age years old."

This simple exercise illustrates the fundamentals of input/output and variable usage,

paving the way for more complex scripting.

2. Conditional Statements and Decision Making

Conditional logic controls the flow of scripts, making them dynamic and context-aware.

Effective shell script exercises with solutions in this area tackle:

Using if-else and elif constructs

1.

Comparing integers and strings

2.

Testing file attributes

3.

Example Exercise: Create a script that checks if a given file exists and reports its type

(regular file, directory, or other).

Solution snippet:

#!/bin/bash

echo "Enter a filename:"

read filename

if [ -f "$filename" ]; then

echo "$filename is a regular file."

elif [ -d "$filename" ]; then

echo "$filename is a directory."

else

echo "$filename is something else or does not exist."

fi

This exercise demonstrates practical usage of file testing operators and conditional

branching.

3. Looping and Iteration

Loops enable scripts to perform repetitive tasks efficiently. Exercises focusing on loops

help users understand:

For loops for iterating over sequences or lists

1.

While and until loops for condition-based repetition

2.

Breaking and continuing loop execution

3.

Example Exercise: Write a script that prints all numbers from 1 to 10 along with their

squares.

Solution snippet:

#!/bin/bash

for i in {1..10}

do

echo "$i squared is $((i * i))"

done

Such exercises reinforce arithmetic operations within loops and underscore efficient

iteration techniques.

4. Text Processing and File Handling

Text and file manipulation are central to shell scripting. Exercises in this domain address:

Reading and writing files

1.

Using tools like awk, sed, grep

2.

Parsing command output and extracting data

3.

Example Exercise: Construct a script that counts the number of lines, words, and

characters in a text file provided by the user.

Solution snippet:

#!/bin/bash

echo "Enter the filename:"

read file

if [ -f "$file" ]; then

lines=$(wc -l < "$file")

words=$(wc -w < "$file")

chars=$(wc -m < "$file")

echo "Lines: $lines"

echo "Words: $words"

echo "Characters: $chars"

else

echo "File does not exist."

fi

This exercise highlights the integration of external commands and conditional checks.

5. Functions and Script Modularization

Advanced shell scripting benefits from modular design via functions, improving readability

and reuse. Exercises here encourage:

Defining and invoking functions

1.

Passing arguments to functions

2.

Returning values and handling scope

3.

Example Exercise: Develop a script with a function that takes a directory path and lists all

files sorted by size.

Solution snippet:

#!/bin/bash

list_files() {

dir=$1

if [ -d "$dir" ]; then

echo "Files in $dir sorted by size:"

ls -lS "$dir"

else

echo "$dir is not a directory."

fi

}

echo "Enter directory path:"

read directory

list_files "$directory"

This task teaches incorporating reusable code blocks and parameter passing.

Benefits of Practicing Shell Script Exercises with Solutions

Engaging with shell script exercises accompanied by solutions offers several tangible

advantages:

Immediate Feedback: Learners can compare their scripts directly against correct

1.

implementations, facilitating error correction and conceptual clarity.

Exposure to Real-World Scenarios: Many exercises simulate practical tasks such

2.

as log file analysis, user management, or system monitoring, bridging theory and

practice.

Incremental Learning: Structured exercises allow gradual complexity increase,

3.

catering to diverse learning paces and styles.

Skill Validation: Working through solutions helps identify knowledge gaps,

4.

preparing users for professional challenges or certifications.

In contrast, attempting scripts without guidance can lead to frustration or the

reinforcement of bad habits. Therefore, pairing exercises with detailed explanations

optimizes the learning trajectory.

Comparing Shell Script Exercise Resources

Several platforms provide shell script exercises with solutions, each with unique features:

Online Coding Platforms: Websites like HackerRank and Codecademy offer

1.

interactive shell scripting challenges with real-time code execution and automated

feedback.

Books and eBooks: Comprehensive resources such as "Classic Shell Scripting"

2.

include exercises followed by detailed walkthroughs, ideal for offline study.

Community Forums: Platforms like Stack Overflow and Unix & Linux Stack

3.

Exchange allow learners to post scripts and receive peer-reviewed solutions,

promoting collaborative learning.

Official Documentation and Tutorials: The GNU Bash manual and Linux

4.

Foundation tutorials often contain example scripts and exercises, though sometimes

with less detailed solutions.

Selecting the right resource depends on individual learning preferences, with an emphasis

on those that integrate solutions to reinforce understanding.

Advanced Shell Script Exercises With Emphasis on Automation

and Performance

Beyond foundational exercises, advanced shell scripting challenges focus on automation,

error handling, and performance optimization:

Automating Backup Processes: Writing scripts that perform incremental

1.

backups, handle compression, and maintain logs.

Process Monitoring and Management: Creating scripts to check CPU/memory

2.

usage, kill runaway processes, or send alerts.

Parallel Execution: Employing background jobs and wait commands to optimize

3.

runtime.

Robust Error Handling: Implementing trap mechanisms and exit status checks to

4.

ensure script reliability.

Example Exercise: Design a backup script that archives a specified directory, keeps only

the latest five backups, and logs the operation status.

Solution outline includes:

Checking if the source directory exists.

1.

Creating a timestamped archive using tar.

2.

Moving the archive to a backup directory.

3.

Listing existing backups and deleting older ones beyond the fifth.

4.

Logging success or failure messages with timestamps.

5.

Such exercises not only deepen scripting knowledge but also illustrate best practices in

system administration.

Integrating Shell Script Exercises into Professional Development

Organizations increasingly value employees with scripting skills to automate workflows

and reduce manual errors. Incorporating shell script exercises with solutions into

professional training programs ensures that staff acquire practical competence and

confidence. Furthermore, mastering these exercises improves troubleshooting abilities,

enabling faster resolution of system issues.

For aspiring DevOps engineers, proficiency in shell scripting combined with automation

tools like Ansible or Jenkins is indispensable. Regular practice with well-structured

exercises promotes fluency, adaptability, and innovative problem-solving.

Ultimately, shell script exercises with solutions serve as a critical learning tool,

transforming theoretical knowledge into actionable expertise that drives efficiency and

innovation across IT environments.

shell scripting practice, bash script examples, shell script tutorials, shell script challenges,

bash scripting exercises, shell scripting problems, shell script coding tasks, bash

programming exercises, shell script solutions, command line scripting practice

Related Stories