BASH/C2/Basics-of-Shell-Scripting/English-timed

From Script | Spoken-Tutorial
Revision as of 17:01, 18 November 2014 by Pratik kamble (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Welcome to the spoken tutorial on Basics of Shell Scripting.
00:05 In this tutorial, we will learn about
00:09 * System variables
00:11 * User defined variables and
00:13 * Accepting user input via keyboard
00:16 To follow this tutorial you should be familiar with Linux Operating System
00:23 If not, for relevant tutorials please visit our website which is as shown
00:29 For this tutorial I am using
00:32 * Ubuntu Linux 12.04 Operating System and
00:35 * GNU Bash version 4.1.10
00:40 Please NoteGNU Bash version 4 or above is recommended for practice.
00:46 Let us start with a introduction to variables
00:49 * Bash variables provide temporary storage for information
00:55 * These variables can be used within the lifespan of the program.
01:01 * There are two types of variables
  1. System variables
  2. User defined variables
01:07 System variables, These are created and maintained by Linux Bash Shell itself.
01:14 They are defined by Capital letters.
01:17 Commonly used system variables are
01:20 * BASH_VERSION,
01:21 * HOSTNAME,
01:23 * HOME etc
01:25 Let us open the terminal by pressing Ctrl Alt and T keys simultaneously on your keyboard.
01:33 Now type set and press Enter.
01:38 This will display all the system variables.
01:42 Alternately, you can type env or printenv, to view all the system variables.
01:53 Let me clear the prompt
01:55 Now, type echo space within double quotes dollar sign HOSTNAME
02:01 and Now press Enter.
02:04 The hostname of the system will be displayed.
02:07 Now let's find out the full path of homedirectory.
02:11 Type echo space within double quotes dollar sign HOME(in Capital)
02:18 Press Enter.
02:21 The full path of user's home directory will be displayed.
02:26 Now, type
02:27 echo space within double quotes HOME (in capital)
02:32 Press Enter.
02:34 This will display only the HOME not the value of HOME variable.
02:39 So it is neccessary to use dollar sign( '$') at the beginning of every variable, to display its value.
02:48 Let us switch back to our slides
02:51 User Defined Variables
02:53 * These variables are created and maintained by users.
02:57 * It is always a good idea to avoid uppercase for the names of user defined variables.
03:05 * This makes it easy to differentiate between user defined and system variables.
03:12 Switch back to our terminal
03:14 Type username equal to sign sunita
03:20 Please note that there should not be any blank space between username, equal to sign and sunita.
03:29 Now press Enter.
03:30 To display the value of variable username
03:33 Type echo space within double quotes dollar sign username
03:40 press Enter
03:42 This will display sunita on your terminal.
03:46 The value of a variable can be unset,
03:50 Let us switch back to our slide
03:52 unset, the value of variable can be unset by using the unset command
03:59 The syntax for this is unset variablename
04:03 Let's use the previous example where username is our variable.
04:08 Switch to the Terminal. Now type unset space username press Enter
04:18 Let us check Type echo space within double quotes dollar sign username press Enter.
04:28 Nothing will be displayed on the terminal.
04:30 This means that the value of variable username has been removed.
04:36 Now switch back to our slide
04:39 Global and local variables.
04:42 * In Shell script, user defined variables can be declared globally or locally.
04:49 * By default, all variables are global.
04:52 * This means, their values remains the same inside and outside the function.
04:59 Let us learn how to declare variables globally and locally.
05:04 Switch to the terminal and type
05:07 gedit space g_(underscore)variable.sh space & (ampersand sign)
05:16 gedit is the text editor g_(underscore) variable.sh is our file name
05:23 and & (ampersand) is use to free up the prompt.
05:28 press Enter.
05:30 Type the code as shown here, in your g_(underscore)variable.sh file.
05:35 Let me explain the code now.
05:38 The first line, with the hash and exclamation symbol, is a shebang or a bang line.
05:44 username=sunita is the userdefined variable and it is declared globally.
05:51 echo will display the string outside function: And
05:55 dollar username will print the value of the variable username.
06:00 This is how we defined a function in BASH script.
06:04 We will discuss about functions in detail, in later tutorials.
06:09 This is the body of the function.
06:12 Here another message inside function will be displayed, along with the value of username.
06:19 Here, we call the function
06:21 This is our code. Now let's execute it.
06:23 Come back to our Terminal.
06:26 Let me clear the prompt
06:28 First we need to make our file executable.
06:31 Type chmod space plus x space g_(underscore)variable.sh press Enter
06:39 Now type dot slash g_(Underscore)variable.sh
06:45 Press Enter
06:47 Observe the output.
06:48 Outside the function, username takes the value sunita.
06:53 Inside the function also, username takes the same value sunita.
06:59 This is because username was declared globally outside the function.
07:04 Next, let us learn how to declare a variable locally.
07:09 Type gedit space l_(Underscore)variable.sh space & (ampersand sign)
07:18 Press Enter.
07:20 Type the code as shown here, in your l_(underscore)variable.sh file.
07:25 Let me explain the code.
07:28 The code is the same as before, except for an extra line of code inside the function.
07:36 Inside the function block, we have a line,local space username equals to jack
07:41 This assigns a new value for the variable username locally.
07:48 Now switch to the Terminal.
07:50 Let's make file executable
07:52 By Typing chmod space plus x space l_variable.sh
08:00 Press Enter.
08:02 Type dot slash l_variable.sh
08:07 Press Enter.
08:08 The output is displayed
08:10 Outside the function, username takes the value sunita.
08:15 Whereas inside the function, username takes the value jack.
08:20 This is because username is assigned this value locally, within the function.
08:26 Now let us quickly see how to get user input via keyboard.
08:31 The read command is used to accept input from the keyboard.
08:36 It can also be used to assign an input value to a user defined variable.
08:41 The syntax of read command is
08:44 read space hyphen p space within double quotes PROMPT
08:50 Please note that PROMPT is just a string, that waits for user input.
08:55 You may replace it with your own string.
08:58 Now Switch to the terminal
09:00 Typegedit space read.sh space & (ampersand sign)
09:08 Press Enter.
09:09 Type the code as shown, in your read.sh file.
09:14 Let me explain the code.
09:16 In this example, input is given from the keyboard by the user.
09:21 This is the bang line.
09:23 Here -p displays the prompt, without a newline and takes input from the keyboard.
09:31 The user input will be stored in the variable username.
09:36 echo command displays the message
09:38 Hello and the name entered by the user, via the keyboard.
09:43 So, let us execute the programme.
09:45 Come back to our terminal
09:49 Type chmod space plus x space read.sh
09:55 press Enter.
09:56 Typedot slash read.sh press Enter.
10:01 Here it is displayed Enter username:
10:04 I will type ashwini press Enter.
10:08 The message Hello ashwini is displayed.
10:13 ashwini was assigned as an input value to the user defined variable username.
10:20 Let us go back to our slide and summarise.
10:23 In this tutorial we learnt,
10:26 * System variables
10:27 * User defined variables
10:29 * Accepting user input via keyboard
10:33 As an assignment
10:34 Write a simple Bash program to get the following system variables
10:38 * pwd and * logname
10:41 Write a simple Bash program
10:43 * To ask username from user
10:46 * To exit the program, if user does not enter anything, within 10 seconds
10:51 * {Hint: read -(Hyphen)t 10 -(Hyphen)p}
10:56 Watch the video available at the link shown below.
10:59 It summarises the Spoken Tutorial project
11:02 If you do not have good bandwidth, you can download and watch it
11:07 The Spoken Tutorial Project Team Conducts workshops using spoken tutorials Gives certificates to those who pass an online test
11:16 For more details, please write to contact@spoken-tutorial.org
11:23 Spoken Tutorial Project is a part of the Talk to a Teacher project
11:27 It is supported by the National Mission on Education through ICT, MHRD, Government of India
11:34 More information on this Mission is available at the link shown below http://spoken-tutorial.org\NMEICT-Intro
11:40 The script has been contributed by FOSSEE and Spoken Tutorial Teams.
11:44 This is Ashwini Patil from IIT Bombay.Signing off.Thank you for joining.

Contributors and Content Editors

PoojaMoolya, Pratik kamble, Sandhya.np14