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
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.
|
Open a file in any editor of your choice and type the code as shown.
| |
In this program, we will check whether a given file is empty or not. | |
Highlight
#!/bin/bash |
Let me explain the code.
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`
|
This command is enclosed within backticks.
Backtick has a very special meaning. Everything you type between backticks is evaluated.
wc will print newline, word, and byte counts, for each file. - (hyphen) w will print the word count. What will happen is -
|
Highlight
fi |
This is the if statement
- (hyphen) eq command checks whether word count is equal to zero. 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, - (hyphen) ne command checks whether word count is not equal to zero. If the condition is true, we will print “File has so-and-so words”.
This is the end of 2nd if condition. |
Save your program file.
| |
Open the terminal | Open the terminal. |
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.
Type: echo double quotes How are you after the double quotes greater than sign list.txt |
Type:
./example1.sh
list.txt |
Let's make our script executable.
Type: chmod plus x example1 dot sh Now type dot slash 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. This is example2.sh . |
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, - (hyphen) 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, - (hyphen) lt command checks whether word count is less than one.
|
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 conditions within this if statement.
If both the conditions are satisfied, then it prints: Number of characters ranges between 1 and 100. Please note that both conditions should be true to satisfy the entire if condition.
|
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 hundred.
|
Highlight fi | Here we end the 2nd if statement. |
On the terminal
Type chmod +x example2.sh Type: ./example2.sh |
Now come back to our terminal. Let us execute the program.
Type: dot slash example2 dot sh |
Type: list.txt | Type list.txt |
Highlight the output | The output is displayed as list.txt has more than one character.
|
Now, add or remove characters to the list.txt file.
| |
This brings us to the end of this tutorial.
Let us summarize. | |
Display Slide 10
Summary |
Summary
In this tutorial we learnt,
|
Display Slide 11
Assignment |
As an assignment, write a program to demonstrate the use of not equal to operator.
Hint: - (hyphen) 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. |