BASH/C2/Arithmetic-Comparison/English
Title of script: Arithmetic comparison in BASH
Author: Ashwini Patil
Keywords: video tutorial, Bash shell, -eq, -ne, -gt, -ge, -lt, -le
|
|
---|---|
Display Slide 1 | Welcome to the spoken tutorial on Arithmetic Comparison in BASH |
Display Slide 2 | In this tutorial, we will learn
We will do this with the help of some examples. |
Display Slide 3 | For this tutorial I am using Ubuntu Linux 12.04 Operating System and
GNU BASH version 4.2.24 Please note, GNU bash version 4 or above is recommended to practice this tutorial. |
On the editor.
example1.sh
|
I already have a working example of arithmetic operators. Let me switch to it now.
|
Pause the tutorial here.
| |
In this program, we will check whether a given file is empty or not. | |
Highlight
#!/bin/bash |
Let me explain the code now.
This is the shebang line. |
Highlight
|
First of all, “Enter filename” will be printed on the console.
read command reads one line of data from the standard input. |
Highlight
x=`cat $y | wc -w`
|
Command is enclosed within backtick.
Backtick has a very special meaning. Everything you type between backticks is evaluated.
wc will print newline, word, and byte counts for each file. -w will print the word count. What will happen is -
|
Highlight
fi |
This is the if statement
-eq command checks whether word count is equal to 0. If the condition is true, we will print a message “File has zero words”. fi is the end of first if condition. |
Highlight
if [ $x -ne 0 ]; then
fi |
Here is another if statement.
Here, -ne command checks whether word count is not equal to 0. If the condition is true, we will print a message “File has $x words”.
This is the end of 2nd if loop. |
Save your program file.
| |
On the terminal
chmod +x example1.sh Type: ./example1.sh
|
Come back to the terminal.
First we will make our file executeable.
chmod +x example1.sh Then type: ./example1.sh |
Type:
touch list.txt |
Now first let's create a file list.txt
Type: touch list.txt |
echo “How are you” > list.txt
|
Now, let's add a line in the file list.txt
Type: echo “How are you” > (greater than sign) list.txt |
Type:
./example1.sh
list.txt |
Lets make our script executable.
Type: chmod +x example1.sh ./example1.sh
Type: list.txt |
Highlight
The Output |
The output is displayed as:
list.txt has 3 words |
Now let's learn about another set of operators. | |
Switch to example2.sh | Let me switch to another file example2.sh in my editor. |
Please open a file in your editor and name it as example2.sh | |
Now type the code as shown here in your example2.sh file. | |
Let me explain the code. | |
This program will check whether the word count is
| |
Highlight
#!/bin/bash |
We have our shebang line here. |
Highlight
read -p "Enter the filename: " y |
read statement takes input as filename from the user. |
Highlight
wc -c` |
Here, -c command is used to print the byte counts. |
Highlight
if [ $x -lt 1 ] ; then echo "No characters present in $y" fi |
In the if statement, -lt command checks whether word count is less than 1.
|
Highlight
if [ $x -gt 1 ] ; then echo "$y has more than one character" |
The next if statement contains a nested if statement.
|
Highlight
if [ $x -ge 1 ] && [ $x -le 100 ]; then echo "Number of characters ranges between 1 and 100"
|
There are multiple if statements within this if statement.
If both the conditions are satisfied, then it prints: Number of characters ranges between 1 and 100.
|
Highlight
if [ $x -gt 100 ] ; then echo "Number of characters is above 100" fi |
Then the next if statement will be evaluated.
If the condition is stasified, we print Number of characters is above 100.
|
Highlight fi | Here we end the 2nd if statement. |
On the terminal
Type chmod +x example2.sh Type: ./example2.sh |
Let us execute the program now.
Come back to the terminal. Type: chmod +x example2.sh Type: ./example2.sh |
Type:
list.txt |
Enter the filename: is displayed.
We will type list.txt |
Highlight the output | list.txt has more than one character.
will be printed on the terminal. |
Add or remove characters to the list.txt file.
| |
This brings us to the end of this tutorial.
Come back to our slides. Let us summarize. | |
Display Slide 10
Summary |
Summary
In this tutorial we learnt, -lt -gt -le -ge -eq |
Display Slide 11
Assignment |
Write a program to demonstrate the use of not equal to operator.
Hint: -ne |
Display Slide 12
http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial About the Spoken Tutorial Project |
Watch the video available at the link shown below
It summarises the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it |
Display Slide 13
Spoken Tutorial Workshops |
The Spoken Tutorial Project Team
Conducts workshops using spoken tutorials Gives certificates to those who pass an online test For more details, please write to contact@spoken-tutorial.org |
Display Slide 14
Acknowledgement |
Spoken Tutorial Project is a part of the Talk to a Teacher project
It is supported by the National Mission on Education through ICT, MHRD, Government of India More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro |
The script has been contributed by FOSSEE and spoken-tutorial team.
This is Ashwini Patil from IIT Bombay signing off. Thank you for joining. |