Difference between revisions of "BASH/C2/String-and-File-attributes/English-timed"
From Script | Spoken-Tutorial
Sandhya.np14 (Talk | contribs) |
|||
Line 13: | Line 13: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | Dear friends, | + | | Dear friends, welcome to the '''spoken tutorial''' on '''String and File Attributes comparison in Bash.''' |
|- | |- | ||
| 00:10 | | 00:10 | ||
− | | | + | | In this tutorial, we will learn: |
|- | |- | ||
| 00:13 | | 00:13 | ||
− | | * '''String comparison''' and '''File attributes comparison''' | + | | * '''String comparison''' and '''File attributes comparison'''. |
|- | |- | ||
Line 29: | Line 29: | ||
|- | |- | ||
| 00:22 | | 00:22 | ||
− | | For this tutorial, I am using | + | | For this tutorial, I am using: |
|- | |- | ||
Line 41: | Line 41: | ||
|- | |- | ||
| 00:34 | | 00:34 | ||
− | | Please note,''' GNU Bash''' version '''4''' or above | + | | Please note,''' GNU Bash''' version '''4''' or above is recommended to practice this tutorial. |
|- | |- | ||
Line 57: | Line 57: | ||
|- | |- | ||
| 00:53 | | 00:53 | ||
− | | | + | | to compare two '''equal strings'''. |
|- | |- | ||
Line 65: | Line 65: | ||
|- | |- | ||
| 00:59 | | 00:59 | ||
− | | | + | | to compare two '''not equal strings'''. |
− | + | ||
|- | |- | ||
Line 74: | Line 73: | ||
|- | |- | ||
| 01:06 | | 01:06 | ||
− | | I have a simple program here | + | | I have a simple program here that checks the user ID. |
− | + | ||
|- | |- | ||
| 01:11 | | 01:11 | ||
− | | Open a file in your editor and save it as '''strcompare dot sh''' | + | | Open a file in your '''editor''' and '''save''' it as '''strcompare dot sh'''. |
|- | |- | ||
| 01:19 | | 01:19 | ||
− | | Now | + | | Now type the code as shown here, in your '''strcompare dot sh''' file. |
|- | |- | ||
| 01:26 | | 01:26 | ||
− | | Let me explain the code. | + | | Let me explain the '''code'''. |
|- | |- | ||
Line 95: | Line 93: | ||
|- | |- | ||
| 01:31 | | 01:31 | ||
− | | '''whoami''' command gives the '''username''' of the current '''user.''' | + | | '''whoami''' '''command''' gives the '''username''' of the current '''user.''' |
|- | |- | ||
| 01:36 | | 01:36 | ||
− | | The '''if''' statement checks the output of the variable '''whoami ''' against the '''string “root”'''. | + | | The '''if''' statement checks the '''output''' of the variable '''whoami ''' against the '''string “root”'''. |
− | + | ||
|- | |- | ||
Line 112: | Line 109: | ||
|- | |- | ||
| 01:57 | | 01:57 | ||
− | | '''“You have no permission to run strcompare dot sh as non-root user.”''' | + | | '''“You have no permission to run 'strcompare dot sh' as non-root user.”''' |
|- | |- | ||
| 02:05 | | 02:05 | ||
− | | Here '''$0 (dollar zero)''' is the ''' | + | | Here '''$0 (dollar zero)''' is the '''zeroth''' argument which is a 'file-name' itself. |
|- | |- | ||
| 02:13 | | 02:13 | ||
− | | If the user is the '''root user''', it will '''echo -''' '''“Welcome root!”''' | + | | If the user is the '''root user''', it will '''echo -''' '''“Welcome root!”'''. |
|- | |- | ||
| 02:18 | | 02:18 | ||
| Then we have the '''exit''' statement for the program. | | Then we have the '''exit''' statement for the program. | ||
− | |||
|- | |- | ||
| 02:23 | | 02:23 | ||
| And here with '''fi ''' we end the '''if statement.''' | | And here with '''fi ''' we end the '''if statement.''' | ||
− | |||
|- | |- | ||
| 02:28 | | 02:28 | ||
− | | Let us switch back to our slides to know more about the '''exit statement.''' | + | | Let us switch back to our '''slides''' to know more about the '''exit statement.''' |
|- | |- | ||
Line 159: | Line 154: | ||
|- | |- | ||
| 02:56 | | 02:56 | ||
− | | Now, let's execute the program. | + | | Now, let's '''execute''' the program. |
|- | |- | ||
| 02:58 | | 02:58 | ||
− | | Open the terminal by pressing '''Ctrl+Alt''' and '''T''' keys simultaneously on your keyboard. | + | | Open the '''terminal''' by pressing '''Ctrl+Alt''' and '''T''' keys simultaneously on your keyboard. |
|- | |- | ||
Line 171: | Line 166: | ||
|- | |- | ||
| 03:12 | | 03:12 | ||
− | | Type '''whoami''' | + | | Type '''whoami'''. |
|- | |- | ||
Line 179: | Line 174: | ||
|- | |- | ||
| 03:17 | | 03:17 | ||
− | | This will output the name of the current user. | + | | This will '''output''' the name of the current user. |
|- | |- | ||
Line 187: | Line 182: | ||
|- | |- | ||
| 03:25 | | 03:25 | ||
− | | Type '''chmod +x strcompare dot sh''' | + | | Type: '''chmod +x strcompare dot sh''' |
− | + | ||
|- | |- | ||
| 03:32 | | 03:32 | ||
− | | Type '''dot slash strcompare dot sh''' | + | | Type: '''dot slash strcompare dot sh''' |
− | + | ||
|- | |- | ||
Line 237: | Line 230: | ||
|- | |- | ||
| 04:23 | | 04:23 | ||
− | | '''file1''' is the variable in which we save the path of the file. | + | | '''file1''' is the variable in which we '''save''' the '''path''' of the file. |
|- | |- | ||
Line 249: | Line 242: | ||
|- | |- | ||
| 04:37 | | 04:37 | ||
− | | If the condition is ''' | + | | If the condition is '''True,''' it will '''echo "File exists and is a normal file" '''. |
|- | |- | ||
| 04:44 | | 04:44 | ||
− | | Else, it will '''echo "File does not | + | | Else, it will '''echo "File does not exist" '''. |
|- | |- | ||
| 04:48 | | 04:48 | ||
− | | Switch back to the '''terminal''' | + | | Switch back to the '''terminal'''. Let us '''execute''' our file. |
|- | |- | ||
| 04:53 | | 04:53 | ||
− | | Type '''chmod plus x fileattrib dot sh''' | + | | Type: '''chmod plus x fileattrib dot sh''' |
− | + | ||
|- | |- | ||
Line 271: | Line 263: | ||
| 05:05 | | 05:05 | ||
| The output is displayed as: | | The output is displayed as: | ||
− | |||
|- | |- | ||
| 05:07 | | 05:07 | ||
| '''File exists and is a normal file'''. | | '''File exists and is a normal file'''. | ||
− | |||
|- | |- | ||
Line 288: | Line 278: | ||
|- | |- | ||
| 05:24 | | 05:24 | ||
− | | Type '''gedit empty dot sh ampersand | + | | Type: '''gedit empty dot sh ampersand''' sign. |
|- | |- | ||
Line 304: | Line 294: | ||
|- | |- | ||
| 05:45 | | 05:45 | ||
− | | Type ''' empty dot sh ''' | + | | Type ''' empty dot sh '''. |
|- | |- | ||
Line 312: | Line 302: | ||
|- | |- | ||
| 05:51 | | 05:51 | ||
− | | ''' “File exists and is not empty”''' | + | | ''' “File exists and is not empty”'''. |
|- | |- | ||
Line 320: | Line 310: | ||
|- | |- | ||
| 05:57 | | 05:57 | ||
− | | ''' “File is empty”''' | + | | ''' “File is empty”'''. |
− | + | ||
|- | |- | ||
Line 329: | Line 318: | ||
|- | |- | ||
| 06:01 | | 06:01 | ||
− | | Come back to the terminal. | + | | Come back to the '''terminal'''. |
|- | |- | ||
| 06:03 | | 06:03 | ||
− | | Let me clear the prompt. | + | | Let me clear the '''prompt'''. |
|- | |- | ||
| 06:06 | | 06:06 | ||
− | | Let's execute. | + | | Let's '''execute'''. |
|- | |- | ||
| 06:08 | | 06:08 | ||
− | | Type '''dot slash fileattrib dot sh''' press '''Enter.''' | + | | Type: '''dot slash fileattrib dot sh''' press '''Enter.''' |
|- | |- | ||
Line 349: | Line 338: | ||
|- | |- | ||
| 06:17 | | 06:17 | ||
− | | Now, let us see another file attribute | + | | Now, let us see another file attribute which will check the '''write permission''' of any file. |
− | + | ||
|- | |- | ||
Line 367: | Line 355: | ||
|- | |- | ||
| 06:36 | | 06:36 | ||
− | | '''“User has write permission to this file”''' | + | | '''“User has write permission to this file”'''. |
|- | |- | ||
Line 375: | Line 363: | ||
|- | |- | ||
| 06:43 | | 06:43 | ||
− | | '''“User doesn't have write permission to this file”''' | + | | '''“User doesn't have write permission to this file”'''. |
|- | |- | ||
Line 387: | Line 375: | ||
|- | |- | ||
| 06:53 | | 06:53 | ||
− | | I will select a file | + | | I will select a file which is not a readable file or which does not have '''write permission'''. |
|- | |- | ||
| 07:01 | | 07:01 | ||
− | | | + | | Let me change the '''file path''' to |
|- | |- | ||
Line 403: | Line 391: | ||
|- | |- | ||
| 07:12 | | 07:12 | ||
− | | Let us execute our program. | + | | Let us '''execute''' our program. |
|- | |- | ||
Line 431: | Line 419: | ||
|- | |- | ||
| 07:40 | | 07:40 | ||
− | | Note that our | + | | Note that our file-name is '''fileattrib2 dot sh''' |
|- | |- | ||
| 07:46 | | 07:46 | ||
− | | Let's go through the code. | + | | Let's go through the '''code'''. |
|- | |- | ||
Line 451: | Line 439: | ||
|- | |- | ||
| 08:04 | | 08:04 | ||
− | | If the '''condition''' is ''' | + | | If the '''condition''' is '''True''', we print '''file1 is newer than file2.''' |
|- | |- | ||
Line 467: | Line 455: | ||
|- | |- | ||
| 08:21 | | 08:21 | ||
− | | If the '''condition''' is ''' | + | | If the '''condition''' is '''True''', we print '''file1 is older than file2.''' |
|- | |- | ||
Line 479: | Line 467: | ||
|- | |- | ||
| 08:35 | | 08:35 | ||
− | | First, we will edit '''empty1 dot sh''' file | + | | First, we will edit '''empty1 dot sh''' file. |
|- | |- | ||
Line 487: | Line 475: | ||
|- | |- | ||
| 08:42 | | 08:42 | ||
− | | Type: '''echo within | + | | Type: '''echo within double quotes Hiii after the double quotes greater than sign empty one dot sh'''. Press '''Enter'''. |
|- | |- | ||
| 08:53 | | 08:53 | ||
− | | Now, let us make our script | + | | Now, let us make our '''script''' executable. |
|- | |- | ||
| 08:57 | | 08:57 | ||
− | | Type | + | | Type: '''chmod plus x fileattrib2 dot sh''' |
|- | |- | ||
| 09:03 | | 09:03 | ||
| Now type '''dot slash fileattrib2 dot sh''' | | Now type '''dot slash fileattrib2 dot sh''' | ||
− | |||
|- | |- | ||
Line 521: | Line 508: | ||
| 09:23 | | 09:23 | ||
| Here also I will add an '''echo statement.''' | | Here also I will add an '''echo statement.''' | ||
− | |||
|- | |- | ||
| 09:27 | | 09:27 | ||
− | | Type echo within double quotes '''How are you''' after the quotes (greater than sign) >'''empty2 dot sh'''. | + | | Type: echo within double quotes '''How are you''' after the quotes (greater than sign) >'''empty2 dot sh'''. |
|- | |- | ||
| 09:38 | | 09:38 | ||
− | | Let me clear the prompt. | + | | Let me clear the '''prompt'''. |
|- | |- | ||
| 09:41 | | 09:41 | ||
− | | Now let us execute our script again. | + | | Now let us '''execute''' our '''script''' again. |
|- | |- | ||
| 09:45 | | 09:45 | ||
− | | Press the up-arrow key. | + | | Press the '''up-arrow''' key. |
|- | |- | ||
| 09:47 | | 09:47 | ||
| Go to '''dot slash fileattrib2 dot sh''' Press '''Enter.''' | | Go to '''dot slash fileattrib2 dot sh''' Press '''Enter.''' | ||
− | |||
|- | |- | ||
| 09:53 | | 09:53 | ||
− | | Now the output is displayed as: | + | | Now the '''output''' is displayed as: |
|- | |- | ||
Line 554: | Line 539: | ||
|- | |- | ||
| 09:59 | | 09:59 | ||
− | | And '''file1 is older than file2''' | + | | And '''file1 is older than file2'''. |
|- | |- | ||
| 10:03 | | 10:03 | ||
| This brings us to the end of this tutorial. | | This brings us to the end of this tutorial. | ||
− | |||
|- | |- | ||
| 10:06 | | 10:06 | ||
− | | Let us | + | | Let us summarize. |
|- | |- | ||
| 10:08 | | 10:08 | ||
− | | In this tutorial we learnt | + | | In this tutorial, we learnt: |
|- | |- | ||
| 10:11 | | 10:11 | ||
− | | '''String comparison''' | + | |* '''String comparison''' |
|- | |- | ||
| 10:12 | | 10:12 | ||
− | |'''file attributes''' | + | |* '''file attributes''' |
|- | |- | ||
| 10:14 | | 10:14 | ||
− | |'''==(equal to equal to)''' | + | |* '''==(equal to equal to)''' |
|- | |- | ||
| 10:16 | | 10:16 | ||
− | |'''!= (not equal to)''' | + | |* '''!= (not equal to)''' |
|- | |- | ||
| 10:17 | | 10:17 | ||
− | |'''-f (hyphen f) ''' | + | |* '''-f (hyphen f) ''' |
|- | |- | ||
| 10:18 | | 10:18 | ||
− | |'''-s'''(hyphen s) | + | |* '''-s'''(hyphen s) |
|- | |- | ||
| 10:19 | | 10:19 | ||
− | |'''-w'''(hyphen w) | + | |* '''-w'''(hyphen w) |
|- | |- | ||
| 10:21 | | 10:21 | ||
− | |'''-nt'''(hyphen nt) | + | |* '''-nt'''(hyphen nt)and |
− | + | |- | |
| 10:22 | | 10:22 | ||
− | | | + | |* '''-ot '''(hyphen ot) attributes. |
|- | |- | ||
| 10:25 | | 10:25 | ||
− | | | + | | As an assignment- |
|- | |- | ||
| 10:26 | | 10:26 | ||
− | | | + | | explore some more attributes. |
|- | |- | ||
| 10:29 | | 10:29 | ||
| Ex: '''-r ''' | | Ex: '''-r ''' | ||
− | + | '''-x'''and | |
− | '''-x''' | + | '''-o''' |
− | + | ||
− | + | ||
|- | |- | ||
| 10:33 | | 10:33 | ||
− | | Watch the video available at the link shown below | + | | Watch the video available at the link shown below. |
|- | |- | ||
| 10:36 | | 10:36 | ||
− | | It | + | | It summarizes the Spoken Tutorial project. |
|- | |- | ||
| 10:40 | | 10:40 | ||
− | | If you do not have good bandwidth, you can download and watch it | + | | If you do not have good bandwidth, you can download and watch it. |
|- | |- | ||
| 10:45 | | 10:45 | ||
− | | The Spoken Tutorial Project | + | | The Spoken Tutorial Project team: |
|- | |- | ||
| 10:47 | | 10:47 | ||
− | | Conducts workshops using spoken tutorials | + | | Conducts workshops using spoken tutorials. |
|- | |- | ||
| 10:51 | | 10:51 | ||
− | | Gives certificates to those who pass an online test | + | | Gives certificates to those who pass an online test. |
|- | |- | ||
Line 651: | Line 633: | ||
|- | |- | ||
| 11:02 | | 11:02 | ||
− | | Spoken Tutorial | + | | '''Spoken Tutorial''' project is a part of the '''Talk to a Teacher''' project. |
|- | |- | ||
| 11:06 | | 11:06 | ||
− | | It is supported by the National Mission on Education through ICT, MHRD, Government of India | + | | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
|- | |- | ||
| 11:14 | | 11:14 | ||
− | | More information on this | + | | More information on this mission is available at the link shown below . |
|- | |- | ||
Line 667: | Line 649: | ||
|- | |- | ||
| 11:25 | | 11:25 | ||
− | | This is Ashwini Patil from IIT Bombay | + | | This is Ashwini Patil from IIT Bombay, signing off. |
|- | |- |
Revision as of 17:22, 3 July 2015
Title of script: String and File Attributes comparison in Bash
Author: Ashwini Patil
Keywords: video tutorial, ==, !=, string compare, file attributes.
Time | Narration |
---|---|
00:01 | Dear friends, welcome to the spoken tutorial on String and File Attributes comparison in Bash. |
00:10 | In this tutorial, we will learn: |
00:13 | * String comparison and File attributes comparison. |
00:18 | We will do this using a few examples. |
00:22 | For this tutorial, I am using: |
00:25 | * Ubuntu Linux 12.04 Operating System and |
00:30 | * GNU BASH version 4.1.10 |
00:34 | Please note, GNU Bash version 4 or above is recommended to practice this tutorial. |
00:42 | Let us start with an introduction. |
00:45 | There are two ways to compare a string in Bash. |
00:49 | 1) First: using == (equal to equal to) operator |
00:53 | to compare two equal strings. |
00:56 | 2) Second: != (not equal to) operator. |
00:59 | to compare two not equal strings. |
01:03 | Let us look at an example. |
01:06 | I have a simple program here that checks the user ID. |
01:11 | Open a file in your editor and save it as strcompare dot sh. |
01:19 | Now type the code as shown here, in your strcompare dot sh file. |
01:26 | Let me explain the code. |
01:28 | This is shebang line. |
01:31 | whoami command gives the username of the current user. |
01:36 | The if statement checks the output of the variable whoami against the string “root”. |
01:44 | We have used not-equal to operator here to compare the strings. |
01:50 | If the current user is not the root user, then it will echo this statement - |
01:57 | “You have no permission to run 'strcompare dot sh' as non-root user.”
|
02:05 | Here $0 (dollar zero) is the zeroth argument which is a 'file-name' itself. |
02:13 | If the user is the root user, it will echo - “Welcome root!”. |
02:18 | Then we have the exit statement for the program. |
02:23 | And here with fi we end the if statement. |
02:28 | Let us switch back to our slides to know more about the exit statement. |
02:34 | Every program returns an exit status. |
02:38 | A successful command returns a 0 (zero). |
02:42 | An erroneous command returns a non-zero value. |
02:47 | It can be interpreted as an error code. |
02:51 | We can customize return value of the exit statement . |
02:56 | Now, let's execute the program. |
02:58 | Open the terminal by pressing Ctrl+Alt and T keys simultaneously on your keyboard. |
03:08 | First, let's check the current user of the system. |
03:12 | Type whoami. |
03:15 | Press Enter. |
03:17 | This will output the name of the current user. |
03:21 | Now let's make our script executable. |
03:25 | Type: chmod +x strcompare dot sh |
03:32 | Type: dot slash strcompare dot sh |
03:37 | The output is displayed as: |
03:39 | You have no permission to run dot slash strcompare dot sh as non-root user. |
03:47 | Now let's execute the same program as root user. |
03:52 | Type: sudo dot slash strcompare dot sh |
03:58 | It will prompt for an password. |
04:01 | Give your password here. |
04:04 | The output is displayed as: Welcome root!. |
04:08 | Now, let's learn about the file attributes comparison. |
04:13 | I already have a working example of the code. |
04:17 | In this program, we will check whether a given file exists or not. |
04:23 | file1 is the variable in which we save the path of the file. |
04:29 | -(hyphen) f command checks whether the file exists or not. |
04:33 | And whether it is a normal file. |
04:37 | If the condition is True, it will echo "File exists and is a normal file" . |
04:44 | Else, it will echo "File does not exist" . |
04:48 | Switch back to the terminal. Let us execute our file. |
04:53 | Type: chmod plus x fileattrib dot sh |
05:00 | Type: dot slash fileattrib dot sh |
05:05 | The output is displayed as: |
05:07 | File exists and is a normal file. |
05:11 | Now we will check whether the file is empty or not. |
05:16 | Before executing our program, I will create an empty file named as empty dot sh. |
05:24 | Type: gedit empty dot sh ampersand sign. |
05:31 | Click on Save, close the file. |
05:35 | Let us replace - (hyphen) f attrib with - (hyphen) s attribute. |
05:41 | Replace the filename here as well. |
05:45 | Type empty dot sh . |
05:47 | Now, replace the first echo statement with: |
05:51 | “File exists and is not empty”. |
05:54 | And the second echo statement with: |
05:57 | “File is empty”. |
05:59 | Click on Save. |
06:01 | Come back to the terminal. |
06:03 | Let me clear the prompt. |
06:06 | Let's execute. |
06:08 | Type: dot slash fileattrib dot sh press Enter. |
06:13 | The output is File is empty. |
06:17 | Now, let us see another file attribute which will check the write permission of any file. |
06:24 | Come back to our program. |
06:26 | Let us replace the - (hyphen) s attribute with - (hyphen) w. |
06:32 | Now replace the first echo statement with:
|
06:36 | “User has write permission to this file”. |
06:40 | And the second echo statement with: |
06:43 | “User doesn't have write permission to this file”. |
06:47 | Click on Save. |
06:49 | I will use a different file for this example. |
06:53 | I will select a file which is not a readable file or which does not have write permission. |
07:01 | Let me change the file path to |
07:04 | “slash etc slash mysql slash debian dot cnf” |
07:10 | Click on Save. |
07:12 | Let us execute our program. |
07:15 | Press the up-arrow key. Press Enter. |
07:19 | We see that the output is displayed as: |
07:21 | User doesn't have write permission to this file. |
07:26 | Now, let us see another example based on file attributes. |
07:31 | In this example, we will check whether file1 is newer than file2. |
07:38 | Let us see the program. |
07:40 | Note that our file-name is fileattrib2 dot sh |
07:46 | Let's go through the code. |
07:48 | Here we have two variables file1 and file2. |
07:53 | The two files have already been created and are empty. |
07:58 | Here we check whether file1 is newer than file2. |
08:04 | If the condition is True, we print file1 is newer than file2. |
08:09 | Else, file2 is newer than file1. |
08:14 | This is another if statement. |
08:16 | Here we check whether file1 is older than file2. |
08:21 | If the condition is True, we print file1 is older than file2. |
08:27 | Else, we print file2 is older than file1. |
08:32 | Come back to our terminal. |
08:35 | First, we will edit empty1 dot sh file. |
08:39 | I will just add an echo statement in it. |
08:42 | Type: echo within double quotes Hiii after the double quotes greater than sign empty one dot sh. Press Enter. |
08:53 | Now, let us make our script executable. |
08:57 | Type: chmod plus x fileattrib2 dot sh |
09:03 | Now type dot slash fileattrib2 dot sh |
09:09 | We see the output as: |
09:11 | file1 is newer than file2 |
09:15 | file2 is older than file1 |
09:19 | Now let's edit empty2 dot sh file. |
09:23 | Here also I will add an echo statement. |
09:27 | Type: echo within double quotes How are you after the quotes (greater than sign) >empty2 dot sh. |
09:38 | Let me clear the prompt. |
09:41 | Now let us execute our script again. |
09:45 | Press the up-arrow key. |
09:47 | Go to dot slash fileattrib2 dot sh Press Enter. |
09:53 | Now the output is displayed as: |
09:55 | file2 is newer than file1 |
09:59 | And file1 is older than file2. |
10:03 | This brings us to the end of this tutorial. |
10:06 | Let us summarize. |
10:08 | In this tutorial, we learnt: |
10:11 | * String comparison |
10:12 | * file attributes |
10:14 | * ==(equal to equal to) |
10:16 | * != (not equal to) |
10:17 | * -f (hyphen f) |
10:18 | * -s(hyphen s) |
10:19 | * -w(hyphen w) |
10:21 | * -nt(hyphen nt)and |
10:22 | * -ot (hyphen ot) attributes. |
10:25 | As an assignment- |
10:26 | explore some more attributes. |
10:29 | Ex: -r
-xand -o |
10:33 | Watch the video available at the link shown below. |
10:36 | It summarizes the Spoken Tutorial project. |
10:40 | If you do not have good bandwidth, you can download and watch it. |
10:45 | The Spoken Tutorial Project team: |
10:47 | Conducts workshops using spoken tutorials. |
10:51 | Gives certificates to those who pass an online test. |
10:55 | For more details, please write to contact@spoken-tutorial.org |
11:02 | Spoken Tutorial project is a part of the Talk to a Teacher project. |
11:06 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
11:14 | More information on this mission is available at the link shown below . |
11:19 | The script has been contributed by Fossee and spoken-tutorial team. |
11:25 | This is Ashwini Patil from IIT Bombay, signing off. |
11:29 | Thank You for joining. |