BASH/C3/Basics-of-functions/English-timed
From Script | Spoken-Tutorial
Time | Narration |
00:01 | Dear friends, welcome to the spoken tutorial on Basics of functions in Bash. |
00:08 | In this tutorial, we will learn: |
00:11 | Importance of Functions |
00:13 | To declare a function |
00:15 | To call a function |
00:17 | Work flow of a function |
00:19 | with the help of an example. |
00:22 | To follow this tutorial, you should have knowledge of Shell Scripting in BASH. |
00:28 | If not, for relevant tutorials, please visit our website which is as shown. http://www.spoken-tutorial.org |
00:34 | For this tutorial, I am using Ubuntu Linux 12.04 Operating System. |
00:40 | Till now we were using GNU BASH version 4.1.10 |
00:46 | From now onwards, we will use GNU BASH version 4.2 |
00:52 | Please note, GNU Bash version 4 or above is recommended for practice. |
00:58 | Let us see what is a function and its usage. |
01:03 | A function is a collection of commands or an algorithm. |
01:08 | It is intended to do a specific task. |
01:12 | It is used to break-up a complex program into separate tasks. |
01:18 | This improves overall script readability and ease of use. |
01:24 | There are two syntaxes for function declaration. |
01:28 | First syntax is-function space function_name |
01:32 | within curly brackets, |
01:34 | the commands to be executed. |
01:37 | The second syntax is- |
01:39 | function_name open and close round brackets |
01:42 | within curly brackets, |
01:44 | the commands to be executed. |
01:47 | Function call-Function can be called anywhere within the program. |
01:53 | Type the function name at the location where you want to call it. |
01:58 | The syntax is the function_name itself. |
02:02 | Let us understand this with the help of a simple example. |
02:07 | I have already typed the code in a file function.sh. |
02:12 | This is the shebang line. |
02:14 | Function is declared by the keyword function followed by function name. |
02:21 | Here, the function name is machine. |
02:26 | The contents within curly brackets is called function definition. |
02:32 | I have displayed various machine details like- |
02:36 | uname hyphen a gives machine information. |
02:41 | w hyphen h gives users logged onto system. |
02:46 | uptime gives the time since machine was on. |
02:51 | free gives memory status. |
02:54 | df hyphen h gives filesystem status. |
02:57 | The main program starts here. |
03:01 | We display the message “Beginning of main program” . |
03:06 | Here, machine is a function call. |
03:09 | Then we display the message “End of main program”. |
03:13 | Let us understand the workflow. |
03:16 | When the bash interpreter visits the function definition, it simply scans the function. |
03:23 | The function is called only when its name appears within the script. |
03:28 | When the interpreter reads the function name, it executes the function definition. |
03:36 | The interpreter treats function name as a command. |
03:41 | Please remember that we have to define the function before calling it. |
03:47 | Now go to the terminal. To make this code file executable, |
03:52 | type: chmod space plus x space function dot sh |
03:59 | Press Enter. |
04:01 | Type: dot slash function dot sh |
04:05 | Press Enter. |
04:07 | The output that is the machine details of my system are seen on the terminal. |
04:14 | Please Note: The output will vary from system to system. |
04:19 | This brings us to the end of this tutorial. |
04:22 | Come back to our slides. |
04:24 | Let us summarize. In this tutorial, we learned: |
04:28 | Importance of functions |
04:30 | Function declaration |
04:32 | Function call Work flow of function |
04:35 | with an example. |
04:37 | As an assignment-write a program with two functions. |
04:42 | The first function should display the disk-space usage in human readable form (Hint: df hyphen h). |
04:51 | The second function should display filesystem usage in human readable form (Hint: du hyphen h). |
05:00 | Watch the video available at the link shown below. |
05:03 | It summarizes the Spoken-Tutorial project. |
05:07 | If you do not have good bandwidth, you can download and watch it. |
05:12 | The Spoken Tutorial Project team: Conducts workshops using spoken tutorials; |
05:17 | Gives certificates to those who pass an online test. |
05:21 | For more details, please write to contact@spoken-tutorial.org |
05:29 | Spoken Tutorial Project is a part of the Talk to a Teacher project. |
05:33 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
05:41 | More information on this mission is available at the link shown below: http://spoken-tutorial.org/NMEICT-Intro |
05:47 | The script has been contributed by FOSSEE and spoken-tutorial team. |
05:52 | This is Ashwini Patil from IIT Bombay, signing off. |
05:56 | Thank you for joining. |