0% found this document useful (0 votes)
3 views

Bash Shell Scripting Presentation

Uploaded by

madiha yousaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Bash Shell Scripting Presentation

Uploaded by

madiha yousaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Introduction to Bash Shell

Scripting
By:
Dr. Basharat Mahmood
Dr. Madiha Yousuf

High Impact IT Training, 2024.


What is Bash?

• Definition:
• Bash (Bourne Again SHell) is a Unix shell and
command language.
• History:
• Developed by Brian Fox for the GNU Project as a
free software replacement for the Bourne shell.
• Significance:
• Default shell on many Linux distributions and
macOS.

High Impact Training, 2024.


Importance of Bash Scripting

• Automation:
• Automates repetitive tasks, saving time and
reducing errors.
• Efficiency:
• Streamlines processes, making workflows faster
and more efficient.
• System Administration:
• Essential for managing Linux systems and
servers, performing tasks like backups, updates,
and monitoring.
High Impact Training, 2024.
Basic Rules of Bash Scripting

• File Extensions:
• Scripts typically use .sh extension, e.g., script.sh.
• Shebang:
• Start scripts with #!/bin/bash to specify the script
interpreter.
• Comments:
• Use # to add comments for clarity.
• Example: # This is a comment
• Permissions:
• Make scripts executable using chmod +x script.sh.

High Impact Training, 2024.


Steps to Write and Execute a Bash Script

• Write the Script


• Use a text editor like nano, vim, or gedit to write the script.
• Save the Script
• Make Executable
• Change file permissions to make it executable: chmod +x
script.sh.
• Move the file to some suitable location. For example:
/usr/bin
• Execute the Script
• Run the script by typing script name

High Impact Training, 2024.


Syntax Overview

• Basic Syntax:
• Commands are written as they are executed in the terminal.
• Whitespace:
• Important for readability, although not always syntactically
necessary.
• Semicolons:
• Used to separate multiple commands on a single line.
• Example: echo "Hello"; echo "World"

High Impact Training, 2024.


Input/Output Commands

• echo:
• Prints text to the terminal.
• Example:
echo "Hello, World!"
• read:
• Reads input from the user.
• Example:
read -p "Enter your name: " name
echo "Hello, $name"
• printf:
• Formats and prints text.
• Example:
printf "Name: %s\n" "$name"
High Impact Training, 2024.
Using Linux Commands in Scripts

• Example Commands:
• ls, pwd, cd, cp, mv, rm
• Integration:
• Example:
echo "Current Directory:"
pwd
echo "Listing Files:"
ls

High Impact Training, 2024.


Variables

• Creating Variables:
• Example:
name="John"
age=25
• Using Variables:
• Example:
echo "Name: $name"
echo "Age: $age"

High Impact Training, 2024.


Arithmetic Operators
• Using expr:
• Example:
result=$(expr 5 + 3)
echo $result
• Using let:
• Example:
let result=5+3
echo $result
• Using $(( )):
• Example:
result=$((5 + 3))
echo $result

High Impact Training, 2024.


Logical Operators
• AND (&&):
• Example:
if [ $a -lt 10 ] && [ $b -gt 5 ]; then
echo "True"
fi
• OR (||):
• Example:
if [ $a -lt 10 ] || [ $b -gt 5 ]; then
echo "True"
fi
• NOT (!):
• Example:
if ! [ $a -lt 10 ]; then
echo "False"
fi
High Impact Training, 2024.
Comparison Operators
• Equality (-eq):
• Example:
if [ $a -eq $b ]; then
echo "Equal"
fi
• Not equal (-ne):
• Example:
if [ $a -ne $b ]; then
echo "Not Equal"
fi
• Less than (-lt):
• Example:
if [ $a -lt $b ]; then
echo "Less than"
fi
High Impact Training, 2024.
Comparison Operators
• Greater than (-gt):
• Example:
if [ $a -gt $b ]; then
echo "Greater than"
fi
• Less than or equal (-le):
• Example:
if [ $a -le $b ]; then
echo "Less than or equal"
fi
• Greater than or equal (-ge):
• Example:
if [ $a -ge $b ]; then
echo "Greater than or equal"
fi
High Impact Training, 2024.
File Operators
• Exists (-e):
• Example:
if [ -e $file ]; then
echo "File exists"
fi
• Regular file (-f):
• Example:
if [ -f $file ]; then
echo "Regular file"
fi
• Directory (-d):
• Example:
if [ -d $file ]; then
echo "Directory"
fi
High Impact Training, 2024.
File Operators
• Readable (-r):
• Example:
if [ -r $file ]; then
echo "Readable"
fi
• Writable (-w):
• Example:
if [ -w $file ]; then
echo "Writable"
fi
• Executable (-x):
• Example:
if [ -x $file ]; then
echo "Executable"
fi
High Impact Training, 2024.
Conditional Statements: if-else
• Syntax:
if [ condition ]; then
# statements
else
# statements
fi
• Example:
if [ $age -ge 18 ]; then
echo "Adult"
else
echo "Minor"
fi

High Impact Training, 2024.


Conditional Statements: elif
• Syntax:
• if [ condition1 ]; then
# statements
elif [ condition2 ]; then
# statements
else
# statements
fi
• Example:
if [ $marks -ge 90 ]; then
echo "Grade A"
elif [ $marks -ge 75 ]; then
echo "Grade B"
else
echo "Grade C"
fi

High Impact Training, 2024.


Conditional Statements: case
• Syntax:
case $variable in
pattern1)
# statements
;;
pattern2)
# statements
;;
*)
# default statements
;;
esac

High Impact Training, 2024.


Conditional Statements: case
• Example:
case $day in
"Monday")
echo "Start of the work week"
;;
"Friday")
echo "End of the work week"
;;
*)
echo "Midweek"
;;
esac

High Impact Training, 2024.


Looping Statements: for loop

• Syntax:
• Example:
for i in {1..10}; do
echo $i
done
• Example:
for file in *.txt; do
echo "Processing $file"
done

High Impact Training, 2024.


Looping Statements: while loop

• Syntax:
while [ condition ]; do
# statements
done
• Example:
count=1
while [ $count -le 5 ]; do
echo $count
((count++))
done

High Impact Training, 2024.


Looping Statements: until loop

• Syntax:
until [ condition ]; do
# statements
done
• Example:
count=1
until [ $count -gt 5 ]; then
echo $count
((count++))
Done

High Impact Training, 2024.


Loop Control: break and continue
• break:
Example:
for i in {1..10}; do
if [ $i -eq 5 ]; then
break
fi
echo $i
done
• continue:
Example:
for i in {1..10}; do
if [ $i -eq 5 ]; then
continue
fi
echo $i
done
High Impact Training, 2024.
Arrays

• Creating Arrays:
• Example:
array=(1 2 3 4 5)
• Accessing Elements:
• Example:
echo ${array[0]}
• Iterating:
• Example:
for i in "${array[@]}"; do
echo $i
done

High Impact Training, 2024.


Functions

• Defining Functions:
• Example:
function greet() {
echo "Hello, $1"
}
• Calling Functions:
• Example:
greet "John"

High Impact Training, 2024.


Input/Output Redirection
• Redirecting Output:
• Example:
command > file.txt
• Appending Output:
• Example:
command >> file.txt
• Redirecting Input:
• Example:
command < file.txt
• Piping:
• Example:
command1 | command2

High Impact Training, 2024.


Script Arguments

• Accessing Arguments:
• Example:
echo $1 $2
• Special Variables:
• $#: Number of arguments
• $@: All arguments
• $*: All arguments as a single string
• Example:
echo "Number of arguments: $#"
echo "All arguments: $@"

High Impact Training, 2024.


String Manipulation

• Concatenation:
• Example:
str="Hello"
str+=" World"
echo $str
• Slicing:
• Example:
echo ${str:0:5}
• Length:
• Example:
echo ${#str}

High Impact Training, 2024.


Environment Variables

• Common Variables:
• PATH, HOME, USER, SHELL
• Using Environment Variables:
• Example:
echo $HOME

High Impact Training, 2024.


The end

High Impact Training, 2024.

You might also like