Section 6
Section 6
Bash Shell
os
• App
• Shell(terminal)appl
• Kernel
shell
• Bash
• Csh
• Ksh
• Zsh
#a=100
#echo $a
#name=ahmed
#echo $name
#name=“ahmed khaled“
#echo $name
2-Command substitution
#date
• 5+10
#echo “sum is $[5+10]”
#echo “sum is $((5+10))”
#a=5
#b=10
#echo $[a+b]
variables
1. Environment variables(variables declared by the Operating
system that may be edited later by the user)
EX: UID
SHELL
LOGNAME
#! /bin/bash
Date ; cal
#end
• Another way
• 2-./testscript
• 3-/absolutepath/testscript
To read value from user
• #read variablename
• User enter value and saved in variable name
• #echo $variablename
************Task
If statement
• If [ $UID –eq 0 ]
• then
• Echo “ your name: $LOGNAME”
• Fi
Comparison operator
• -eq=eqal
• -ne=not equal
• -gt=greater than
• -lt=less than
• -ge=greater than or equal
• -le=less than or equal
• If [ $UID –eq 0 ]
• then
• echo “ your name root”
• else
• echo “ your name: $LOGNAME”
• fi
• If [ $UID –eq 0 ]
• then
• echo “ your name: $LOGNAME”
• else if [ $UID -ge 500 ]
• then
• echo “ your name: $LOGNAME”
• fi
• fi
• If [ $UID –eq 0 ]
• then
• echo “ your name: $LOGNAME”
• elif [ $UID -ge 500 ]
• then
• echo “ your name: $LOGNAME”
•
• fi
• Elif =else if fi
• Task
for ((x=1;x<10;x++))
• For var in {value1.. Value2 .. Increment}
do
……….
done
case
Case var in
Valu1) instruction;;
Value2) instruction;;
*) instruction ;; # default value
esac
example
echo “ enter value”
read val
case $val in
Y|y) echo “true”;;
N|n) echo “false”;;
*) echo “in correct”;;
esac
Break + case
• Case $val in
• 1) break;;
• *) Echo “enter new valu”;;
• Esac