Difference between revisions of "BASH/C2/Logical-Operators/English"
Nancyvarkey (Talk | contribs) |
|||
Line 22: | Line 22: | ||
* Use of '''Logical AND''' | * Use of '''Logical AND''' | ||
* '''Logical OR''' | * '''Logical OR''' | ||
− | * '''Logical NOT | + | * '''Logical NOT''' |
* using a few examples | * using a few examples | ||
− | |||
− | |||
|- | |- | ||
Line 36: | Line 34: | ||
* '''if-else statement, ''' | * '''if-else statement, ''' | ||
* '''command line arguments '''and | * '''command line arguments '''and | ||
+ | * '''quoting '''in''' BASH.''' | ||
− | + | If not, for relevant tutorials, please visit our website, which is as shown. | |
− | + | ||
− | + | ||
|- | |- | ||
| style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Display Slide | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Display Slide | ||
| style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| For this tutorial I am using | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| For this tutorial I am using | ||
− | + | * '''Ubuntu Linux 12.04''' OS | |
− | * '''Ubuntu Linux 12.04''' OS | + | |
* '''GNU Bash''' version '''4.1.10''' | * '''GNU Bash''' version '''4.1.10''' | ||
− | '''GNU Bash '''version '''4''' or above is recommended | + | '''GNU Bash '''version '''4''' or above is recommended for practice. |
|- | |- | ||
Line 54: | Line 50: | ||
Logical Operators | Logical Operators | ||
− | |||
| style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let us understand the use of''' Logical operators.''' | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let us understand the use of''' Logical operators.''' | ||
− | * '''Logical operators | + | * '''Logical operators''' are mainly used to control program flow |
* '''Logical operators''' helps to link two''' expressions''' or '''conditions''' | * '''Logical operators''' helps to link two''' expressions''' or '''conditions''' | ||
− | * They can be a part | + | * They can be a part of''' if, while, '''or some other''' control statements ''' |
− | + | ||
− | + | ||
|- | |- | ||
Line 79: | Line 72: | ||
− | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let's see the syntax of | + | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let's see the syntax of '''logical AND''' |
− | * '''Opening | + | * '''Opening square bracket space dollar symbol condition1 space closing square bracket space ampersand ampersand space opening square bracket space dollar symbol condition2 space closing square bracket''' |
* Or we can use this syntax | * Or we can use this syntax | ||
− | * '''Opening | + | * '''Opening square bracket space dollar symbol condition1 space hyphen a space dollar symbol condition2 space closing square bracket''' |
− | * '''Logical AND '''returns''' true '''when both''' condition1 '''and '''condition2''' are''' ''' | + | * '''Logical AND '''returns''' true '''when both''' condition1 '''and '''condition2''' are '''true''' |
− | + | ||
Line 102: | Line 94: | ||
'''<nowiki>[ $condition1 -o $condition2 ]</nowiki>''' | '''<nowiki>[ $condition1 -o $condition2 ]</nowiki>''' | ||
− | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| * '''Opening | + | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| |
+ | * '''Opening square bracket space dollar symbol condition1 space closing square bracket space vertical bar vertical bar space opening square bracket space dollar symbol condition2 space closing square bracket''' | ||
* Or we can use this syntax | * Or we can use this syntax | ||
− | * '''Opening | + | * '''Opening square bracket space dollar symbol condition1 space hyphen o space dollar symbol condition2 space closing square bracket''' |
* '''Logical OR '''returns''' true '''when either''' condition1 '''or '''condition2 '''is '''true''' | * '''Logical OR '''returns''' true '''when either''' condition1 '''or '''condition2 '''is '''true''' | ||
− | |||
− | |||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let us learn the usage of''' Logical OR''' and '''Logical AND''' using an example. | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let us learn the usage of''' Logical OR''' and '''Logical AND''' using an example. | ||
− | |||
− | |||
Line 122: | Line 111: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| I have already typed the code in a file named '''logical.sh'''. | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| I have already typed the code in a file named '''logical.sh'''. | ||
− | Open the terminal by pressing '''ctrl+alt+t''' keys simultaneousely on your keyboard. | + | Open the '''terminal''' by pressing '''ctrl+alt+t''' keys simultaneousely on your keyboard. |
Type: | Type: | ||
Line 130: | Line 119: | ||
press''' Enter.''' | press''' Enter.''' | ||
− | Now type the code as shown here in | + | Now type the code as shown here in your''' logical.sh '''file. |
|- | |- | ||
Line 142: | Line 131: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| read -p "Enter a Word : " string | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| read -p "Enter a Word : " string | ||
− | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| The''' read command''' reads | + | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| The''' read command''' reads one line of data from the''' standard input.''' |
− | '''-p''' display the '''prompt.''' | + | '''- (hyphen) p''' display the '''prompt.''' |
− | '''string''' is a''' variable''' which stores the text entered by the user, during execution | + | '''string''' is a''' variable''' which stores the text entered by the user, during execution. |
|- | |- | ||
Line 155: | Line 144: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| The '''if statement''' checks whether the entered string is '''empty.''' | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| The '''if statement''' checks whether the entered string is '''empty.''' | ||
− | '''-z '''checks whether length of '''string''' is '''zero''' | + | '''- (hyphen) z '''checks whether length of '''string''' is '''zero''' |
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| | ||
− | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Type '''man test '''on''' terminal '''to explore various other string comparisons. | + | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Type '''man test '''on''' terminal '''to explore various other '''string comparisons'''. |
|- | |- | ||
Line 173: | Line 162: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| If the '''string''' is not empty, the program will move to the first '''elif statement.''' | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| If the '''string''' is not empty, the program will move to the first '''elif statement.''' | ||
− | Here it checks whether | + | Here it checks whether the entered''' string''' contains both the words '''''raj '''''and '''''jit'''''. |
If yes, then it echoes out a message. | If yes, then it echoes out a message. | ||
Line 179: | Line 168: | ||
Please note that '''logical AND''' is used here. | Please note that '''logical AND''' is used here. | ||
− | Hence the message will be displayed only when both the conditions are satisfied. | + | Hence, the message will be displayed only when both the '''conditions''' are satisfied. |
|- | |- | ||
Line 191: | Line 180: | ||
Here it checks whether the''' entered string''' contains either'' '''raj''''' or '''''jit.''''' | Here it checks whether the''' entered string''' contains either'' '''raj''''' or '''''jit.''''' | ||
− | If yes, then it | + | If yes, then it displays a message. |
Please note that '''logical OR''' is used here. | Please note that '''logical OR''' is used here. | ||
− | The message will be displayed only when any one of the conditions are satisfied. | + | The message will be displayed only when any one of the '''conditions''' are satisfied. |
|- | |- | ||
Line 218: | Line 207: | ||
>> Type '''./logical.sh'''>> Press '''Enter''' | >> Type '''./logical.sh'''>> Press '''Enter''' | ||
− | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Switch to the '''terminal.''' | + | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Switch back to the '''terminal.''' |
− | First make the file executable by typing | + | First make the file executable by typing- |
− | '''chmod | + | '''chmod space plus x space logical dot sh ''' |
− | + | press''' Enter''' | |
+ | Now type '''dot slash''' '''logical.sh '''and press''' Enter''' | ||
Line 254: | Line 244: | ||
This means that the control was passed to the second statement. | This means that the control was passed to the second statement. | ||
− | And as both the conditions are satisfied, it displays the message | + | And as both the '''conditions''' are satisfied, it displays the message. |
− | + | ||
− | + | ||
|- | |- | ||
Line 280: | Line 268: | ||
This time I will enter '''abhijit.''' | This time I will enter '''abhijit.''' | ||
− | + | The output is: | |
'''abhijit contains word 'raj' or 'jit'.''' | '''abhijit contains word 'raj' or 'jit'.''' | ||
Line 301: | Line 289: | ||
* Which means, it returns '''true''' if the expression is '''false''' | * Which means, it returns '''true''' if the expression is '''false''' | ||
* and returns '''false''' if the expression is '''true''' | * and returns '''false''' if the expression is '''true''' | ||
− | |||
Line 323: | Line 310: | ||
Or | Or | ||
− | * '''Opening square bracket | + | * '''Opening square bracket space exclamation mark space expression space closing square bracket''' |
Line 335: | Line 322: | ||
On '''Terminal'''>> Type '''gedit logicalNOT.sh'''>> Press '''Enter''' | On '''Terminal'''>> Type '''gedit logicalNOT.sh'''>> Press '''Enter''' | ||
− | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| I have already typed the code in a file. | + | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| I have already typed the code in a file. |
− | So, I will go to the '''terminal '''and type '''gedit logicalNOT.sh ''' | + | So, I will go to the '''terminal '''and type '''gedit logicalNOT.sh space ampersand sign''' |
Press''' Enter.''' | Press''' Enter.''' | ||
+ | |||
+ | |- | ||
+ | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| | ||
+ | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Now type the code as shown here in your '''logicalNOT.sh''' file. | ||
|- | |- | ||
Line 355: | Line 346: | ||
− | '''-f '''checks if the file exists with the same name that was passed as an '''argument'''. | + | '''- (hyphen) f '''checks if the file exists with the same name that was passed as an '''argument'''. |
So, it will return '''true '''if the file exists and '''false '''if it does not exist. | So, it will return '''true '''if the file exists and '''false '''if it does not exist. | ||
Line 395: | Line 386: | ||
− | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Switch to the '''terminal''' | + | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Switch to the '''terminal'''. Let me clear the prompt. |
− | Let's create an empty file with the name '''test.txt | + | Let's create an empty file with the name '''test.txt''' |
So, type : | So, type : | ||
− | '''touch space test | + | '''touch space test dot txt''' |
|- | |- | ||
Line 409: | Line 400: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Next, make the script executable by typing:''' ''' | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Next, make the script executable by typing:''' ''' | ||
− | '''chmod | + | '''chmod space plus x space logicalNOT dot sh''' |
− | Now type '''dot slash | + | Now type '''dot slash logical.sh space test.txt '''and press''' Enter.''' |
|- | |- | ||
Line 417: | Line 408: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Our shell script will check whether the file exists. | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Our shell script will check whether the file exists. | ||
− | Our file | + | Our file '''test.txt '''exists <nowiki>;</nowiki>''''' hence the value will be''' true.''' |
− | Then the '''logical NOT''' will inverse that | + | Then the '''logical NOT''' will inverse that value and return '''false.''' |
− | Because the | + | Because the evaluation is '''false''', the '''else statement''' is evaluated. |
|- | |- | ||
Line 435: | Line 426: | ||
| style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Try executing the program again with argument '''test1.txt''' | | style="border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Try executing the program again with argument '''test1.txt''' | ||
− | And observe the control flow as explained before. | + | And observe the control flow, as explained before. |
|- | |- | ||
Line 441: | Line 432: | ||
Summary | Summary | ||
− | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Let us summarize. | + | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Come back to our slides. Let us summarize. |
In this tutorial we learnt the usage of, | In this tutorial we learnt the usage of, | ||
Line 447: | Line 438: | ||
* '''logical AND''' | * '''logical AND''' | ||
* '''logical OR '''and | * '''logical OR '''and | ||
− | * '''logical NOT | + | * '''logical NOT''' |
− | + | ||
− | + | ||
|- | |- | ||
Line 461: | Line 450: | ||
* explained in this tutorial | * explained in this tutorial | ||
* (Hint: '''man test''') | * (Hint: '''man test''') | ||
− | |||
|- | |- | ||
| style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Display Slide | | style="border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Display Slide | ||
− | |||
Revision as of 14:21, 12 November 2013
Title of script: Logical Operators in Bash
Author: Lavitha pereira
Keywords: Video tutorial, Bash Shell, Logical AND, Logical OR, Logical NOT
Visual Cue | Narration |
Display Slide | Dear friends, Welcome to the Spoken tutorial on
Logical Operators in Bash |
Display Slide | In this tutorial, we will learn
|
Display Slide Prerequisites
|
To follow this tutorial you should have knowledge of
If not, for relevant tutorials, please visit our website, which is as shown. |
Display Slide | For this tutorial I am using
GNU Bash version 4 or above is recommended for practice. |
Display Slide
Logical Operators
|
Let us understand the use of Logical operators.
|
Display Slide
Logical AND Syntax: [ $condition1 ] && [ $condition2 ]
|
Let's see the syntax of logical AND
|
Let us see the syntax of Logical OR | |
Display Slide
Logical OR
|
|
Let us learn the usage of Logical OR and Logical AND using an example.
| |
Open file
On Terminal>> Type gedit logical.sh>> Press Enter |
I have already typed the code in a file named logical.sh.
Open the terminal by pressing ctrl+alt+t keys simultaneousely on your keyboard. Type: gedit logical.sh & press Enter. Now type the code as shown here in your logical.sh file. |
Let me explain the code now. | |
#!/bin/bash | This is the shebang line. |
read -p "Enter a Word : " string | The read command reads one line of data from the standard input.
- (hyphen) p display the prompt. string is a variable which stores the text entered by the user, during execution. |
if [ -z "$string" ]; then
|
The if statement checks whether the entered string is empty.
- (hyphen) z checks whether length of string is zero |
Type man test on terminal to explore various other string comparisons. | |
echo "Nothing was entered " | The echo statement will print a message if nothing was entered. |
[Highlight]
elif [[ "$string" == *"raj"* ]] && [[ "$string" == *"jit"* ]]; then echo "$string contains both the words raj and jit" |
If the string is not empty, the program will move to the first elif statement.
Here it checks whether the entered string contains both the words raj and jit. If yes, then it echoes out a message. Please note that logical AND is used here. Hence, the message will be displayed only when both the conditions are satisfied. |
[Highlight]
elif [[ "$string" == *"raj"* ]] || [[ $string = *"jit"* ]]; then echo "$string contains word 'raj' or 'jit'" |
If that is not so, then the program will move onto the second elif statement.
Here it checks whether the entered string contains either raj or jit. If yes, then it displays a message. Please note that logical OR is used here. The message will be displayed only when any one of the conditions are satisfied. |
else
echo "Sorry! entered word '$string' does not contain either 'raj' or 'jit'" |
Lastly, we have the default else statement.
When all the above statements are false, then this statement will be executed. |
fi | fi is the end of multilevel if-else loop.
Let us execute the program |
On the terminal
>> Type ./logical.sh>> Press Enter |
Switch back to the terminal.
First make the file executable by typing- chmod space plus x space logical dot sh press Enter Now type dot slash logical.sh and press Enter
|
Highlight
The output
Highlight Type: jitinraj
|
The prompt displays Enter a word:
I will enter jitinraj The output is: jitinraj contains both the words raj and jit This means that the control was passed to the second statement. And as both the conditions are satisfied, it displays the message. |
Press up arrow key>> go to ./logical.sh>>
Press Enter |
Now let us execute the script again.
Press the up arrow key. Go to ./logical.sh and press Enter |
Highlight
Type: abhijit abijit contains word 'raj' or 'jit' |
The prompt displays Enter a word:
This time I will enter abhijit. The output is: abhijit contains word 'raj' or 'jit'. |
Please try executing the program with different inputs and observe the output. | |
Let's switch back to our slides. | |
Display Slide
Logical NOT |
Let's have a look at logical NOT operator.
|
Display Slide
Logical NOT Syntax ! expression [ ! expression ]
|
The syntax of logical NOT operator is
Or
|
Let us see an example. | |
Open file
On Terminal>> Type gedit logicalNOT.sh>> Press Enter |
I have already typed the code in a file.
So, I will go to the terminal and type gedit logicalNOT.sh space ampersand sign Press Enter. |
Now type the code as shown here in your logicalNOT.sh file. | |
#!/bin/bash | This is the shebang line, as we already know. |
[Highlight]
if [ ! -f "$1" ]; then
|
$1 is the first command line argument passed to the script.
So, it will return true if the file exists and false if it does not exist. |
Point to the NOT operator with cursor.
|
This NOT operator here inverses the returned value.
Which means, if a file of that name exists, the conditon will be true. But the NOT operator will inverse its value to false. |
echo "File $1 does not exist" | And it will display the message
FILE does not exist |
else
echo "File $1 exist" |
And here in the else statement, it displays the message
FILE exists |
fi | fi marks the end of if loop. |
On the terminal
touch test.txt
|
Switch to the terminal. Let me clear the prompt.
Let's create an empty file with the name test.txt So, type : touch space test dot txt |
>> Type chmod +x logicalNOT.sh>> Press Enter
>> Type ./logicalNOT.sh test.txt>> Press Enter |
Next, make the script executable by typing:
chmod space plus x space logicalNOT dot sh Now type dot slash logical.sh space test.txt and press Enter. |
Point to test.txt in the previous command | Our shell script will check whether the file exists.
Our file test.txt exists ; hence the value will be' true. Then the logical NOT will inverse that value and return false. Because the evaluation is false, the else statement is evaluated. |
Show Output
File 'test.txt' exists |
And the message displayed is -
File 'test.txt' exists |
Try executing the program again with argument test1.txt
And observe the control flow, as explained before. | |
Display Slide
Summary |
Come back to our slides. Let us summarize.
In this tutorial we learnt the usage of,
|
Display Slide
Assignment |
Check whether
|
Display Slide
|
Watch the video available at the link shown below
It summarizes the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it |
Display Slide
|
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
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 |
Display Slide | The script has been contributed by FOSSEE and spoken-tutorial team
This is Ashwini from IIT Bombay. Thank you for joining. |