BASH/C3/Here-document-and-Here-string/English-timed
From Script | Spoken-Tutorial
Visual Cue | Narration |
00.01 | Dear friends, Welcome to the spoken tutorial on HERE document and strings |
00.08 | In this tutorial, we will learn about |
00.11 | * special-purpose redirection called Here documents and Here strings |
00.17 | * With the help of some examples |
00.20 | To follow this tutorial you should have knowledge of Shell Scripting in BASH. |
00.26 | If not, for relevant tutorials please visit our website which is as shown,(http://www.spoken-tutorial.org) |
00.32 | For this tutorial I am using |
00.34 | * Ubuntu Linux 12.04 Operating System |
00.39 | * GNU BASH version 4.2 |
00.42 | Please note, GNU Bash version 4 or above is recommended for practice. |
00.49 | Let us learn about Here document. |
00.52 | * It is a special-purpose block of text or code. |
00.56 | * It is a form of I/O redirect. |
01.00 | * It feeds a command list to an interactive program or command line. |
01.06 | * It can be treated as a separate file. |
01.10 | * It can also be treated as multiple line input redirected to a shell script. |
01.17 | Syntax is, |
01.18 | command space less than less than space HERE. |
01.24 | After this on the next line, we can give the text inputs. |
01.29 | It can consist of any number of lines. |
01.33 | Here, text1, text2, textN are the text inputs. |
01.40 | After the text inputs, on the next line, we type the keyword HERE again. |
01.46 | It denotes the closing of HERE document. |
01.50 | Let us understand this with an example. |
01.53 | I will open a file named here dot sh |
01.59 | The first line of code is the shebang line. |
02.04 | Let me put a block of code after this line. |
02.09 | wc represents word count |
02.12 | wc hyphen w counts the number of words in the HERE document |
02.20 | The block of code or text until the second occurance of HERE will be treated as a file |
02.28 | The content present in HERE document is an input to the command wc hyphen w |
02.36 | HERE acts as a delimiter for wc hyphen w command while reading multi-line input. |
02.47 | If we try to execute the same command in the terminal, we should get '4' as an output. |
02.55 | This is because we have passed four words to the command 'wc hyphen w'. |
03.03 | Now click on Save to save the file. |
03.06 | Let us switch to the Terminal using Ctrl, Alt and T keys simultaneously on your keyboard. |
03.15 | Type: chmod space plus x space here dot sh |
03.22 | Press Enter. |
03.24 | Type dot slash here dot sh |
03.27 | Press Enter. |
03.30 | We can see the output as 4. |
03.33 | That is, number of words in Here document is 4. |
03.38 | Come back to the program. |
03.41 | Let us add two more words here at the beginning of the text. |
03.47 | Hello and welcome to Bash learning |
03.52 | Click on Save. |
03.54 | Let us execute the program again. |
03.57 | On the terminal, type dot slash here dot sh |
04.04 | Press Enter. |
04.06 | Now the output is 6 because we added two more words to our text. |
04.13 | We can also pass an argument to the Here document. |
04.18 | Let us see how to do this with an example. |
04.22 | Let me open a file named hereoutput dot sh |
04.28 | The command cat will concatenate files and print the standard output. |
04.35 | Note that we have used the string this instead of HERE. |
04.41 | It’s not necessary that you always have to use the delimiter HERE. |
04.47 | You can use any other delimiter also. |
04.51 | This line will display the 0th (zeroeth) argument. |
04.55 | The 0th (zeroeth) argument, by default, is the filename. |
05.00 | This line will display the 1st argument passed to the program. |
05.05 | And this line will display the 2nd argument passed to the program. |
05.09 | Here we have to close the document using the same delimiter, this. |
05.17 | Save the file. |
05.18 | Let us now execute the program. |
05.21 | On the terminal type: chmod space plus x space hereoutput dot sh |
05.29 | Press Enter |
05.32 | Type dot slash hereoutput dot sh space Sunday space Monday |
05.40 | The output is dispalyed as: |
05.43 | 0'th argument is: dot salsh hereoutput dot sh which is the filename. |
05.49 | 1st argument is: Sunday |
05.51 | 2nd argument is: Monday |
05.55 | Let us learn about Here string now. |
05.59 | * Here string is used for input redirection from text or a variable. |
06.06 | * The input is mentioned in the same line within single quotes. |
06.12 | The syntax is, command space three less than symbols space within single quotes write string |
06.22 | Let us understand this with an example. |
06.25 | I will open the same file here dot sh |
06.30 | Here at the end, I will type: wc space hyphen w three less than symbols space within single quotes Welcome to Bash learning |
06.44 | This will redirect the string within quotes to the command wc hyphen w. |
06.52 | Now Click on Save to save the changes. |
06.55 | We will switch to the Terminal. |
06.58 | Now type: dot slash here dot sh |
07.03 | We can see the output as 6 and 4 |
07.08 | Number of words in here document is 6 and number of words in here string is 4. |
07.15 | Likewise, you can write your own Here strings. |
07.20 | This brings us to the end of this tutorial. |
07.23 | Let us summarise. |
07.25 | In this tutorial we learnt about |
07.27 | * HERE document |
07.29 | * HERE string |
07.31 | As an assignment, convert a string to uppercase using: |
07.36 | * Here document |
07.37 | * Here string |
07.39 | Hint: tr space a hyphen z space capital A hyphen capital Z. |
07.47 | This is the command to convert characters from lower to upper case. |
07.54 | Watch the video available at the link shown below. |
07.57 | It summarises the Spoken Tutorial project. |
08.01 | If you do not have good bandwidth, you can download and watch it. |
08.06 | The Spoken Tutorial Project Team Conducts workshops using spoken tutorials |
08.12 | Gives certificates to those who pass an online test |
08.17 | For more details, please write to contact@spoken-tutorial.org |
08.25 | Spoken Tutorial Project is a part of the Talk to a Teacher project. |
08.29 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
08.38 | More information on this Mission is available at the link shown below http://spoken-tutorial.org\NMEICT-Intro |
08.44 | The script has been contributed by FOSSEE and Spoken-Tutorial teams. |
08.50 | This is Ashwini Patil from IIT Bombay. Signing off |
08.54 | Thank you for joining. |