Difference between revisions of "BASH/C3/Advance-topics-in-a-function/English"
(Created page with ''''Title of script: Advance topics in function ''' '''Author:''' Lavitha Pereira '''Keywords: Video tutorial, source command, background function''' {| style="border-spacing:…') |
Nancyvarkey (Talk | contribs) |
||
| Line 41: | Line 41: | ||
| 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 | + | * '''Ubuntu Linux''' 12.04 Operating System and |
* '''GNU BASH''' version 4.2 | * '''GNU BASH''' version 4.2 | ||
| − | Please note,''' GNU Bash | + | Please note,''' GNU Bash''' version 4 or above is recommended for practice. |
|- | |- | ||
| Line 50: | Line 50: | ||
'''Source Command''' | '''Source Command''' | ||
| − | | 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;"| * '''Source '''command is used to load a file into '''Shell '''script. | + | | 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;"| |
| + | * '''Source '''command is used to load a file into '''Shell '''script. | ||
* It reads and execute commands from that file. | * It reads and execute commands from that file. | ||
| − | + | * It also imports code into the script. | |
| − | + | ||
|- | |- | ||
| Line 59: | Line 59: | ||
'''Source Command''' | '''Source Command''' | ||
| − | | 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;"| |
* This is useful when multiple scripts use a common data or a function library. | * This is useful when multiple scripts use a common data or a function library. | ||
| − | |||
| − | |||
|- | |- | ||
| Line 78: | Line 76: | ||
'''<nowiki>souce <filename> <arguments></nowiki>''' | '''<nowiki>souce <filename> <arguments></nowiki>''' | ||
| − | | 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;"| '''source | + | | 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;"| '''source filename''' |
| − | '''source | + | '''source path_to_file''' |
'''source filename arguments''' | '''source filename arguments''' | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| 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;"| Open '''function.sh''' 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;"| Open '''function.sh''' 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;"| Let me open a file ''''function.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;"| Let me open a file ''''function.sh''''. | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| Line 104: | Line 96: | ||
'''source detail.sh ''' | '''source detail.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;"| Source''' detail.sh '''will | + | | 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;"| Source''' detail.sh '''will load the file '''detail.sh '''into''' function.sh ''' |
|- | |- | ||
| Line 114: | Line 106: | ||
} | } | ||
| − | | 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 me open''' detail.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;"| Let me open''' detail.sh''' file. |
| − | I have a function''' “machine”''' | + | I have a function''' “machine”'''. |
| − | Now type | + | Now type inside the function, |
'''echo "function machine is called in function.sh file"''' | '''echo "function machine is called in function.sh file"''' | ||
| − | + | Click on '''Save'''. | |
| − | + | ||
| − | + | ||
|- | |- | ||
| 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: | | 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: | ||
| Line 135: | Line 125: | ||
| 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 go back to '''function.sh '''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;"| Let us go back to '''function.sh '''file. | ||
| − | + | Here type: | |
| − | '''echo | + | '''echo “Beginning of program”''' |
| − | + | Click on''' Save''' | |
Then type: '''machine''' | Then type: '''machine''' | ||
'''echo “End of program”''' | '''echo “End of program”''' | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| Line 157: | 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;"| This will print the message “Beginning of program” | | 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;"| This will print the message “Beginning of program” | ||
| − | machine is the function call. | + | '''machine''' is the '''function call.''' |
This will print the message''' End of program''' | This will print the message''' End of program''' | ||
| − | Note that '''machine''' is the function which we created in the '''detail.sh''' 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;"|Highlight as per narration | ||
| + | | 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;"| Note that '''machine''' is the '''function''' which we created in the '''detail.sh''' file. | ||
| − | And we are calling the function here in '''function.sh''' file. | + | And we are calling the '''function''' here in '''function.sh''' file. |
| − | Now click on '''Save''' | + | Now click on '''Save'''. |
|- | |- | ||
| 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 execute | + | | 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 execute the program. |
| − | + | ||
| − | + | ||
|- | |- | ||
| − | | 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;"| So type on the '''terminal''' |
| − | + | ||
| − | + | ||
| + | '''chmod +x function.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;"| Type:'''chmod space plus x space function dot 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;"| Type:'''chmod space plus x space function dot sh''' | ||
| Line 201: | Line 188: | ||
'''End of program''' | '''End of program''' | ||
| 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 output is displayed | | 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 output is displayed | ||
| − | |||
| − | |||
| Line 213: | Line 198: | ||
'''Background function''' | '''Background function''' | ||
| − | | 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;"| * To run a process in the background, we use <tt>&</tt>''' (ampersand)''' at the end of a '''function call.''' | + | | 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;"| Come back to our slides. |
| + | |||
| + | * To run a process in the background, we use <tt>&</tt>''' (ampersand)''' at the end of a '''function call.''' | ||
* The '''shell''' forks a '''child process''' to run the command. | * The '''shell''' forks a '''child process''' to run the command. | ||
* The forked process will have a '''job number (<tt><nowiki>[</nowiki></tt>''n''<tt>]</tt>)''' and a '''PID (Process IDentifier)''' | * The forked process will have a '''job number (<tt><nowiki>[</nowiki></tt>''n''<tt>]</tt>)''' and a '''PID (Process IDentifier)''' | ||
| − | |||
| − | |||
|- | |- | ||
| Line 236: | Line 221: | ||
| 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;"| '''echo -e "Inside bg_function\n" ''' | | 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;"| '''echo -e "Inside bg_function\n" ''' | ||
| − | + | | 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 '''echo statement''' here displays the message '''"Inside bg_function”''' | |
| − | + | ||
| − | | 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 echo statement here displays the message '''"Inside bg_function”''' | + | |
|- | |- | ||
| Line 244: | Line 227: | ||
'''} ''' | '''} ''' | ||
| − | | 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, we will use the '''find command '''to find all the .'''mp3 '''files. | + | | 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, we will use the '''find command '''to find all the .'''mp3 '''files. |
| + | This statement will find all the files with the extension '''.mp3''' | ||
| − | |||
| + | It will do so in the '''current working directory.''' | ||
| − | '''Hyphen iname '''is used to ignore the case.And the result is stored in''' myplaylist.txt ''' | + | |
| + | '''Hyphen iname '''is used to ignore the case. | ||
| + | |||
| + | And the result is stored in''' myplaylist.txt '''. | ||
|- | |- | ||
| Line 258: | Line 245: | ||
'''bg underscore function &''' | '''bg underscore function &''' | ||
| − | This is '''function call.''' | + | This is the '''function call.''' |
| − | Ampersand puts 'bg_function' in the background | + | '''Ampersand''' puts ''''bg_function'''' in the background. |
| + | |||
| + | Now click on '''Save'''. | ||
Let us execute the program. | Let us execute the program. | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| Line 273: | Line 259: | ||
'''chmod +x background.sh>>'''Press '''Enter ''' | '''chmod +x background.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;"| Come back to the '''terminal.''' | ||
| − | + | Type:'''chmod space plus x space background dot sh''' | |
| − | + | ||
| − | + | ||
Press '''Enter.''' | 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;"| Type | + | | 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 |
'''./background.sh>>'''Press '''Enter''' | '''./background.sh>>'''Press '''Enter''' | ||
| Line 288: | Line 273: | ||
Press''' Enter.''' | Press''' Enter.''' | ||
| − | |||
| − | Blank output indicates '''.mp3''' file is not present in current directory. | + | |- |
| + | | 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;"|Blank output indicates '''.mp3''' file is not present in current directory. | ||
|- | |- | ||
| Line 300: | Line 286: | ||
'''jobs -l''' | '''jobs -l''' | ||
| − | | 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;"| Now, come back to our program. |
| − | + | Type: | |
| − | '''echo -e "Process runing in background are: | + | '''echo -e "Process runing in background are: slash n" ''' |
and | and | ||
| + | '''jobs space hyphen l''' | ||
| − | |||
Click on''' Save''' | Click on''' Save''' | ||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| Line 327: | Line 310: | ||
| − | | 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;"| '''Jobs | + | | 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;"| '''Jobs space hyphen l '''lists the status of all '''background jobs'''. |
|- | |- | ||
| 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 '''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 '''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;"| Now come back to our 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;"| Now come back to our '''terminal'''. |
| − | Let me clear the prompt. | + | Let me clear the '''prompt'''. |
|- | |- | ||
| − | | 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;"|Press the uparrow key. |
| − | + | ||
| − | + | ||
| − | | 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;"| Press the''' uparrow '''key | + | | 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;"| Press the''' uparrow '''key twice. |
|- | |- | ||
| Line 367: | Line 348: | ||
| − | Here, one within opening and closing square bracket is the '''job number.''' | + | Here, '''one''' within opening and closing square bracket is the '''job number.''' |
| − | + | 3962 is the PID. | |
'''PID '''will vary accordingly. | '''PID '''will vary accordingly. | ||
| − | + | If the function takes time to execute, it will run in the background. | |
| − | + | And we will see the status as ''''Running' '''. | |
| − | + | If the function gets executed before the script, we will see the status as ''''Done'.'''' | |
| Line 386: | Line 367: | ||
This brings us to the end of this tutorial. | This brings us to the end of this tutorial. | ||
| + | |||
| + | Come back to our slides. | ||
|- | |- | ||
| Line 398: | Line 381: | ||
* '''Source '''command | * '''Source '''command | ||
| − | * To put a function in '''background''' | + | * To put a function in the '''background''' |
* With the help of some examples | * With the help of some examples | ||
| − | |||
| − | |||
|- | |- | ||
Latest revision as of 05:42, 8 May 2014
Title of script: Advance topics in function
Author: Lavitha Pereira
Keywords: Video tutorial, source command, background function
| |
|
| Display Slide 1 | Dear friends,
Welcome to the spoken tutorial on Advance topics in function |
| Display Slide 2 | In this tutorial, we will learn
|
| Display Slide 3Prerequisites
|
To follow this tutorial you should have knowledge of Shell Scripting in BASH.
If not, for relevant tutorials, please visit our website which is as shown. |
| Display Slide 4
System requirements |
For this tutorial I am using
Please note, GNU Bash version 4 or above is recommended for practice. |
| Display Slide 5
Source Command |
|
| Display Slide 6
Source Command |
|
| The syntax for Source command is as follows. | |
| Display Slide 7
Syntax: source <filename> source <Path_to_file> souce <filename> <arguments> |
source filename
source path_to_file source filename arguments |
| Open function.sh file | Let me open a file 'function.sh'. |
| #!/usr/bin/env bash | This is a shebang line. |
| #function.sh
[Highlight] source detail.sh |
Source detail.sh will load the file detail.sh into function.sh |
| function machine{
type, echo "function machine is called in function.sh file" } |
Let me open detail.sh file.
I have a function “machine”. Now type inside the function, echo "function machine is called in function.sh file" Click on Save. |
| Type:
echo “Beginning of program” machine echo “End of program” |
Let us go back to function.sh file.
Here type: echo “Beginning of program” Click on Save Then type: machine echo “End of program” |
| echo “Beginning of program”
echo “End of program” |
This will print the message “Beginning of program”
machine is the function call. This will print the message End of program |
| Highlight as per narration | Note that machine is the function which we created in the detail.sh file.
And we are calling the function here in function.sh file. Now click on Save. |
| Let us execute the program. | |
| So type on the terminal
chmod +x function.sh>> Press Enter |
Type:chmod space plus x space function dot sh
Press Enter. |
| Type,
./function.sh>>Press Enter |
Type dot slash function dot sh
Press Enter. |
| Highlight
Beginning of program function machine is called in function.sh file End of program |
The output is displayed
|
| Let's move on to background function. | |
| Display slide 9
Background function |
Come back to our slides.
|
| Let us understand this with the help of an example. I will open the file background.sh | |
| #!/usr/bin/env bash | This is the shebang line. |
| bg_function()
{ |
bg underscore function marks the beginning of the function. |
| echo -e "Inside bg_function\n" | The echo statement here displays the message "Inside bg_function” |
| find . -iname "*.mp3" > myplaylist.txt
} |
Next, we will use the find command to find all the .mp3 files.
This statement will find all the files with the extension .mp3
And the result is stored in myplaylist.txt . |
| bg_function & | Now type:
bg underscore function & This is the function call.
Let us execute the program. |
| Type
chmod +x background.sh>>Press Enter |
Come back to the terminal.
Type:chmod space plus x space background dot sh Press Enter. |
| Type
./background.sh>>Press Enter |
Type dot slash background dot sh
Press Enter.
|
| Blank output indicates .mp3 file is not present in current directory. | |
| type:
echo -e "Process runing in background are: \n" type: jobs -l |
Now, come back to our program.
Type: echo -e "Process runing in background are: slash n" and jobs space hyphen l
|
| "Process runing in background are: \n"
|
This echo statement displays the message “Process runing in background are:” |
| jobs -l
|
Jobs space hyphen l lists the status of all background jobs. |
| Switch to terminal | Now come back to our terminal.
Let me clear the prompt. |
| Press the uparrow key.
|
Press the uparrow key twice. |
| Type,
./background.sh>>Press Enter |
Press Enter. |
| Terminal:
[Output]
[1]+ 5787 Running bg_function & Last line of the code |
The output is shown.
PID will vary accordingly.
And we will see the status as 'Running' .
This brings us to the end of this tutorial. Come back to our slides. |
| Display Slide 10
Summary |
Summary
Let us summarise. In this tutorial we learnt
|
| Display Slide 10
Assignment |
As an assignment:
|
| Display Slide 11
http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial About the Spoken Tutorial Project |
Watch the video available at the link shown below.
|
| Display Slide 12
Spoken Tutorial Workshops |
The Spoken Tutorial Project Team
For more details, please write to contact@spoken-tutorial.org |
| Display Slide 13
Acknowledgement |
Spoken Tutorial Project is a part of the Talk to a Teacher project.
|
| Display Slide 14 | The script has been contributed by FOSSEE and Spoken-Tutorial teams.
Thank you for joining. |