summaryrefslogtreecommitdiff
path: root/ult/ult_6
diff options
context:
space:
mode:
authorhardythe12012-08-08 15:04:04 +0530
committerhardythe12012-08-08 15:04:04 +0530
commit7ee1718d5b9d6f8450cb5cdd023b8a067f8d06ec (patch)
tree792641223966b966693e22f2049e2534cef154c4 /ult/ult_6
parent8dfb36c8626f56f96b4be431596a7a902b410955 (diff)
parentd0c0139c362aa0d04073fbb901ee81b3c47bf158 (diff)
downloadsdes-stscripts-7ee1718d5b9d6f8450cb5cdd023b8a067f8d06ec.tar.gz
sdes-stscripts-7ee1718d5b9d6f8450cb5cdd023b8a067f8d06ec.tar.bz2
sdes-stscripts-7ee1718d5b9d6f8450cb5cdd023b8a067f8d06ec.zip
fixing errors
Diffstat (limited to 'ult/ult_6')
-rw-r--r--ult/ult_6/marks1.txt5
-rwxr-xr-xult/ult_6/results.sh3
-rw-r--r--ult/ult_6/script.rst293
-rw-r--r--ult/ult_6/students.txt5
-rw-r--r--ult/ult_6/ult6.tex176
-rw-r--r--ult/ult_6/ult_6.tex244
6 files changed, 382 insertions, 344 deletions
diff --git a/ult/ult_6/marks1.txt b/ult/ult_6/marks1.txt
deleted file mode 100644
index 9a5299d..0000000
--- a/ult/ult_6/marks1.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-5 89 92 85
-4 98 47 67
-1 67 82 76
-2 78 97 60
-3 67 68 69
diff --git a/ult/ult_6/results.sh b/ult/ult_6/results.sh
deleted file mode 100755
index acdac84..0000000
--- a/ult/ult_6/results.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-mkdir ~/marks
-cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/results.txt
diff --git a/ult/ult_6/script.rst b/ult/ult_6/script.rst
index 0413ada..020f3a6 100644
--- a/ult/ult_6/script.rst
+++ b/ult/ult_6/script.rst
@@ -3,19 +3,15 @@
.. At the end of this tutorial, you will be able to:
- .. 1. Prepare a simple shell script.
- .. 2. Run a script successfully and print it's result.
- .. 3. Understand what an environment variable is.
+ .. 1. Understand various features of shell
+ .. 2. Learn about shell meta characters
.. Prerequisites
.. -------------
-.. 1. Using Linux tools - Part 1
-.. 2. Using Linux tools - Part 2
-.. 3. Using Linux tools - Part 3
-.. 4. Using Linux tools - Part 4
-.. 5. Using Linux tools - Part 5
-
+.. 1. Getting started with Linux
+.. 2. Basic File Handling
+.. 4. Advanced file handling
Script
------
@@ -28,7 +24,7 @@ team along with the logo of MHRD }}}
.. R1
Hello friends and Welcome to the tutorial on
-'Using linux tools - Part 6'.
+'Redirection and Piping'.
.. L2
@@ -38,9 +34,8 @@ Hello friends and Welcome to the tutorial on
At the end of this tutorial, you will be able to,
- 1. Prepare a simple shell script.
- #. Run a script successfully and print it's result.
- #. Understand what an environment variable is.
+ 1. Understand various features of shell
+ #. Learn about shell meta characters
.. L3
@@ -49,248 +44,236 @@ At the end of this tutorial, you will be able to,
.. R3
Before beginning this tutorial,we would suggest you to complete the
-tutorial on "Using Linux tools from Part 1 to Part 5".
+former tutorials as being displayed currently.
+
+.. L4
-Let us start with creating a simple shell script.
-A shell script is simply a sequence of commands, that are put into a file,
-instead of entering them one by one onto the shell. The script can then be
-run, to run the sequence of commands in a single shot instead of manually
-running, each of the individual commands.
-For instance, let's say we wish to create a directory called ``marks`` in the
-home folder and save the results of the students into a file
-``results.txt``.
+{{{ Show slide, with Tab-completion }}}
.. R4
-We open our editor and save the following text to ``results.sh``
+The Bash shell has some nice features, that make our job of using the shell
+easier and much more pleasant. We shall look at a few of them, here.
-.. L4
-{{{ Open an editor and type the following }}}
-::
+Bash provides the feature of tab completion. What does tab completion mean?
+When you are trying to type a word, bash can complete the word for you, if you
+have entered enough portion of the word (to complete it unambiguously) and
+then hit the tab key.
- #!/bin/bash
- mkdir ~/marks
- cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/results.txt
+If on hitting the tab key, the word doesn't get completed, either the word
+doesn't exist or the word cannot be decided unambiguously. If the case is the
+latter one, hitting the tab key a second time, will list the possibilities.
-.. R5
+.. L5
-We can now run the script as,
+{{{ Show slide, with Tab-completion.. }}}
-.. L5
+.. R5
-{{{ Open the terminal }}}
-::
+Bash provides tab completion for the following.
- ./results.sh
+ File Names
+ Directory Names
+ Executable Names
+ User Names (when they are prefixed with a ~)
+ Host Names (when they are prefixed with a @)
+ Variable Names (when they are prefixed with a $)
.. R6
-We get an error saying, Permission denied! Why? Can you think of the
-reason? Yes, the file doesn't have execute permissions.
-We make the file executable and then run it.
+For example,
.. L6
-::
-
- chmod u+x results.sh
- ./results.sh
-.. R7
+{{{ Switch to terminal }}}
+::
-We get back the prompt. We can check the contents of the file
-``results.txt`` to see if the script has run.
-So, here, we have our first shell script. The first line of the script is used
-to specify the interpreter or shell which should be used to execute the script.
-In this case, we are asking it to use the bash shell.
-Once, the script has run, we get back the prompt. Here, we had to manually check,
-if the contents of the file are correct. It would be useful to have our script
-print out messages. For this, we can use the ``echo`` command. We can edit our
-``results.sh`` script, as follows.
+ pas<TAB><TAB>
+ PA<TAB>
+ ~/<TAB><TAB>
.. L7
-{{{ Open an editor and type the following }}}
-::
+{{{ Show slide, with History }}}
- #!/bin/bash
- mkdir ~/marks
- cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/results.txt
- echo "Results generated."
-
-.. R8
-
-Now, on running the script, we get a message on the screen informing us,
-when the script has run.
+.. R7
-Let's now say, that we wish to let the user decide the file to which the
-results should be written to. The results file, should be specifiable by an
-argument in the command line. We can do so, by editing the file, as below.
+Bash also saves the history of the commands you have typed. So, you can go
+back to a previously typed command. Use the up and down arrow keys to navigate
+in your bash history.
+You can also search incrementally, for commands in your bash history. Ctrl-r
+search for the commands that you have typed before. But, note that the number
+of commands saved in the history is limited, generally upto a 1000 commands.
.. L8
-{{{ Make the necessary changes in the previous script }}}
-
+{{{ Switch to terminal }}}
::
- #!/bin/bash
- mkdir ~/marks
- cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/$1
- echo "Results generated."
+ <Ctrl-r> pas
+.. R8
-{{{ Highlight the text ``$1`` }}}
+.. L9
+
+{{{ Show slide, with Shell Meta Characters }}}
.. R9
-The ``$1`` above, corresponds to the first command line argument to the
-script. So, we can run the script as shown below, to save the results to
-``grades.txt``.
+Unix recognizes certain special characters, called "meta characters," as
+command directives. The shell meta characters are recognized anywhere they
+appear in the command line, even if they are not surrounded by blank space.
+For that reason, it is safest to only use the characters A-Z, a-z, 0-9, and
+the period, dash, and underscore characters when naming files and directories
+ on Unix. If your file or directory has a shell meta character in the name,
+you will find it difficult to use the name in a shell command.
-.. L9
-::
+The characters that you see on the slide are the shell meta characters
- ./results.sh grades.txt
+ / < > ! $ % ^ & * | { } [ ] " ' ` ~ ;
.. R10
-When we run the ``results.sh`` file, we are specifying the location of the
-script by using ``./``. But for any of the other commands,
-we didn't have to specify their locations. Why? The
-shell has a set of locations where it searches, for the command that we are
-trying to run.
+Let's take an example,
.. L10
-.. L11
+{{{ Switch to terminal }}}
+::
-{{{ Show slide, PATH }}}
+ ls file.*
.. R11
-These set of locations are saved in an "environment"
-variable called PATH.let us look at what the value of the PATH variable is. To view the
-values of variables, we can use the echo command.
+It means, run on a directory containing the files file, file.c, file.lst, and
+myfile would list the files file.c and file.lst. However,
-.. L12
+.. L11
-{{{ Switch to the terminal }}}
::
- echo $PATH
+ ls file.?
.. R12
-So, these are all the paths that are searched, when looking to execute a
-command. If we put the results.sh script in one of these locations, we
-could simply run it, without using the ``./`` at the beginning.
+Run on the same directory would only list file.c because the ? only
+matches one character, no more, no less. This can save you a great deal of
+typing time.
-.. L13
+For example, if there is a file called california_cornish_hens_with_wild_rice
+and no other files whose names begin with 'c', you could view the file without
+typing the whole name by typing this
+
+.. L12
+
+::
-{{{ Show slide, variables & comments }}}
+ more c*
.. R13
-As expected, it is possible to define our own variables inside our shell
-scripts. For example,
+Here, the c* matches that long file name.
-.. L14
+File-names containing metacharacters can pose many problems and should never
+be intentionally created.
-{{{ Switch to the terminal }}}
-::
+.. L13
- name="FOSSEE"
+.. L14
+
+{{{ Switch to Summary slide }}}
.. R14
-It creates a new variable ``name`` whose value is ``FOSSEE``. To refer to this
-variable, inside our shell script, we would refer to it, as ``$name``.
-Note that, there is no space around the ``=`` sign.
+This brings us to the end of the end of this tutorial.
+In this tutorial, we have learnt to,
+1. Implement features of tab-completion and history.
+#. Make use of the shell meta characters.
+
.. L15
-::
-
- ls $name*
+
+{{{ Show self assessment questions slide }}}
.. R15
-.. R16
+Here are some self assessment questions for you to solve:
-It is possible to store the output of a command in a variable, by enclosing
-the command in back-quotes.
+1. Bash does not provide tab completion for Host Names. True of False?
+
+2. State the command which will list all the files in the current working
+ directory that end in either .c or .h
.. L16
-::
- count=`wc -l wonderland.txt`
+{{{ Solutions for the self assessment questions on slide }}}
-.. R17
+.. R16
-It saves the number of lines in the file ``wonderland.txt`` in the variable
-count.
+And the answers:
-The ``#`` character is used to comment out content from a shell script.
-Anything that appears after the ``#`` character in a line, is ignored by
-the bash shell.
+1. False. Bash provides tab completion for Host Names when they are prefixed
+ with a @ sign.
-.. L18
+
+2. The command which will find the files ending either in .c or .h is,
+::
-.. L19
+ ls *.[ch]
-{{{ Switch to 'Summary' slide }}}
-.. R19
+.. L17
-This brings us to the end of the end of this tutorial.
-In this tutorial, we have learnt to,
+{{{ Show the SDES & FOSSEE slide }}}
- 1. Prepare a shell script.
- #. Display the result of a script, using the ``echo`` command.
- #. Use the environment variable ``PATH``.
- #. Create variables and comment out content using the ``#`` sign.
+.. R17
-.. L20
+Software Development techniques for Engineers and Scientists - SDES, is an
+initiative by FOSSEE. For more information, please visit the given link.
-{{{ Show self assessment questions slide }}}
+Free and Open-source Software for Science and Engineering Education - FOSSEE, is
+based at IIT Bombay which is funded by MHRD as part of National Mission on
+Education through ICT.
-.. R20
+.. L18
-Here are some self assessment questions for you to solve
+{{{ Show the ``About the Spoken Tutorial Project'' slide }}}
- 1. Which sign is used to comment out content from a shell script.
-
- - $
- - %
- - #
- - *
+.. R18
- 2. How will you add directory ``/data/myscripts`` to the beginning of
- the $PATH environment variable ?
+Watch the video available at the following link. It summarises the Spoken
+Tutorial project.If you do not have good bandwidth, you can download and
+watch it.
-.. L21
+.. L19
-{{{ Solution of self assessment questions on slide }}}
+{{{ Show the `` Spoken Tutorial Workshops'' slide }}}
-.. R21
+.. R19
-And the answers,
+The Spoken Tutorial Project Team conducts workshops using spoken tutorials,
+gives certificates to those who pass an online test.
- 1. We use the ``#`` sign to comment out the content from a shell script.
+For more details, contact contact@spoken-tutorial.org
- 2. In order to add a directory to the beginning of the $PATH variable,we
- say,
-::
+.. L20
- $PATH=/data/myscripts:$PATH
+{{{ Show the ``Acknowledgements'' slide }}}
-.. L22
+.. R20
+
+Spoken Tutorial Project is a part of the "Talk to a Teacher" project.
+It is supported by the National Mission on Education through ICT, MHRD,
+Government of India. More information on this mission is available at the
+given link.
+
+.. L21
{{{ Show the Thank you slide }}}
-.. R22
+.. R21
Hope you have enjoyed this tutorial and found it useful.
Thank you!
-
-
diff --git a/ult/ult_6/students.txt b/ult/ult_6/students.txt
deleted file mode 100644
index ddacd6b..0000000
--- a/ult/ult_6/students.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Hussain
-Dilbert
-Anne
-Raul
-Sven
diff --git a/ult/ult_6/ult6.tex b/ult/ult_6/ult6.tex
deleted file mode 100644
index 389a602..0000000
--- a/ult/ult_6/ult6.tex
+++ /dev/null
@@ -1,176 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Using Linux Tools
-%
-% Author: FOSSEE
-% Copyright (c) 2009, FOSSEE, IIT Bombay
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\documentclass[12pt,compress]{beamer}
-
-\mode<presentation>
-{
- \usetheme{Warsaw}
- \useoutertheme{infolines}
- \setbeamercovered{transparent}
-}
-
-\usepackage[english]{babel}
-\usepackage[latin1]{inputenc}
-%\usepackage{times}
-\usepackage[T1]{fontenc}
-
-% Taken from Fernando's slides.
-\usepackage{ae,aecompl}
-\usepackage{mathpazo,courier,euler}
-\usepackage[scaled=.95]{helvet}
-
-\definecolor{darkgreen}{rgb}{0,0.5,0}
-
-\usepackage{listings}
-\lstset{language=sh,
- basicstyle=\ttfamily\bfseries,
- commentstyle=\color{red}\itshape,
- stringstyle=\color{darkgreen},
- showstringspaces=false,
- keywordstyle=\color{blue}\bfseries}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOCUMENT STARTS
-\begin{document}
-
-\begin{frame}
-
-\begin{center}
-\vspace{12pt}
-\textcolor{blue}{\huge Using Linux Tools\\Part VI}
-\end{center}
-\vspace{18pt}
-\begin{center}
-\vspace{10pt}
-\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
-\vspace{5pt}
-\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\
-\scriptsize Funded by National Mission on Education through ICT\\
-\scriptsize MHRD,Govt. of India\\
-\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
-\end{center}
-\end{frame}
-\begin{frame}
-\frametitle{Objectives}
-\label{sec-2}
-
-At the end of this tutorial, you will be able to,
-\begin{itemize}
-\item Prepare a simple shell script.
-\item Run a script successfully and print it's result.
-\item Understand what an environment variable is.
-\end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{Pre-requisite}
-\label{sec-3}
-
-Spoken tutorial on -
-\begin{itemize}
-\item Using Linux tools -- Part I
-\item Using Linux tools -- Part II
-\item Using Linux tools -- Part III
-\item Using Linux tools -- Part IV
-\item Using Linux tools -- Part V
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
- \frametitle{\texttt{PATH}}
- \begin{itemize}
- \item The shell searches in a set of locations, for the command
- \item Locations are saved in ``environment'' variable called PATH
- \item \texttt{echo} can show the value of variables
- \end{itemize}
- \begin{lstlisting}
- $ echo $PATH
- \end{lstlisting} % $
- \begin{itemize}
- \item Put \texttt{results.sh} in one of these locations
- \item It can then be run without \texttt{./}
- \end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
- \frametitle{Variables \& Comments}
- \begin{lstlisting}
- $ name=FOSSEE
- $ count=`wc -l wonderland.txt`
- $ echo $count # Shows the value of count
- \end{lstlisting} % $
- \begin{itemize}
- \item It is possible to create variables in shell scripts
- \item Variables can be assigned with the output of commands
- \item \alert{NOTE:} There is no space around the \texttt{=} sign
- \item All text following the \texttt{\#} is considered a comment
- \end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{Summary}
-\label{sec-8}
-
- In this tutorial, we have learnt to,
-
-
-\begin{itemize}
-\item Prepare a shell script.
-\item Display the result of a script, using the ``echo'' command.
-\item Use the environment variable ``PATH''.
-\item Create variables and comment out content using the ``\#'' sign.
-\end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
-\frametitle{Evaluation}
-\label{sec-9}
-
-
-\begin{enumerate}
-\item Which sign is used to comment out content from a shell script?
-\begin{itemize}
-\item \$
-\item \%
-\item \#
-\item *
-\end{itemize}
-\vspace{8pt}
-\item How will you add directory ``/data/myscripts'' to the beginning of
- the \$PATH environment variable ?
-\end{enumerate}
-\end{frame}
-\begin{frame}
-\frametitle{Solutions}
-\label{sec-10}
-
-
-\begin{enumerate}
-\item `` \# ''
-\vspace{15pt}
-\item \$ PATH=/data/myscripts:\$PATH
-\end{enumerate}
-\end{frame}
-\begin{frame}
-
- \begin{block}{}
- \begin{center}
- \textcolor{blue}{\Large THANK YOU!}
- \end{center}
- \end{block}
-\begin{block}{}
- \begin{center}
- For more Information, visit our website\\
- \url{http://fossee.in/}
- \end{center}
- \end{block}
-\end{frame}
-
-\end{document}
-
-
diff --git a/ult/ult_6/ult_6.tex b/ult/ult_6/ult_6.tex
new file mode 100644
index 0000000..c42fa21
--- /dev/null
+++ b/ult/ult_6/ult_6.tex
@@ -0,0 +1,244 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Using Linux Tools
+%
+% Author: FOSSEE
+% Copyright (c) 2009, FOSSEE, IIT Bombay
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[17pt,compress]{beamer}
+\usepackage{beamerthemesplit}
+\mode<presentation>
+{
+ \usetheme{Warsaw}
+ \useoutertheme{infolines}
+ \setbeamercovered{transparent}
+ \setbeamertemplate{navigation symbols}{}
+}
+% Taken from Fernando's slides.
+\usepackage{ae,aecompl}
+\usepackage[scaled=.95]{helvet}
+
+\usepackage[english]{babel}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+
+% change the alerted colour to LimeGreen
+\definecolor{LimeGreen}{RGB}{50,205,50}
+\setbeamercolor{structure}{fg=LimeGreen}
+\author[FOSSEE]{}
+\institute[IIT Bombay]{}
+\date[]{}
+% \setbeamercovered{transparent}
+
+% theme split
+\usepackage{verbatim}
+\newenvironment{colorverbatim}[1][]%
+{%
+\color{blue}
+\verbatim
+}%
+{%
+\endverbatim
+}%
+
+\usepackage{mathpazo,courier,euler}
+\usepackage{listings}
+\lstset{language=sh,
+ basicstyle=\ttfamily\bfseries,
+ showstringspaces=false,
+ keywordstyle=\color{black}\bfseries}
+
+% logo
+\logo{\includegraphics[height=1.30 cm]{../images/3t-logo.pdf}}
+\logo{\includegraphics[height=1.30 cm]{../images/fossee-logo.pdf}
+
+\hspace{7.5cm}
+\includegraphics[scale=0.99]{../images/fossee-logo.pdf}\\
+\hspace{281pt}
+\includegraphics[scale=0.80]{../images/3t-logo.pdf}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DOCUMENT STARTS
+\begin{document}
+
+\sffamily \bfseries
+\title
+[Features of the Shell]
+{Features of the Shell}
+\author
+[FOSSEE]
+{\small Talk to a Teacher\\{\color{blue}\url{http://spoken-tutorial.org}}\\\vspace{0.25cm}National Mission on Education
+ through ICT\\{\color{blue}\url{ http://sakshat.ac.in}} \\ [1.65cm]
+ Contributed by FOSSEE Team \\IIT Bombay \\[0.3cm]
+}
+
+% slide 1
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+\frametitle{Objectives}
+\label{sec-2}
+
+At the end of this tutorial, you will be able to,
+\begin{itemize}
+\item Understand various features of the shell
+\item Learn about shell meta characters
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Pre-requisites}
+\label{sec-3}
+
+Spoken tutorial on,
+\begin{itemize}
+\item Getting started with Linux
+\item Basic File Handling
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Tab-completion}
+\begin{itemize}
+\item Hit tab to complete an incompletely typed word
+\item Tab twice to list all possibilities when ambiguous completion
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Tab-completion..}
+ \begin{itemize}
+ \item Bash provides tab completion for the following
+ \begin{enumerate}
+ \item File Names
+ \item Directory Names
+ \item Executable Names
+ \item User Names (when prefixed with a \~{})
+ \item Host Names (when prefixed with a @)
+ \item Variable Names (when prefixed with a \$)
+ \end{enumerate}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{History}
+\begin{itemize}
+\item Bash saves history of commands typed
+\item Up and down arrow keys allow to navigate history
+\item \texttt{Ctrl-r} searches for commands used
+\item No. of commands limited, generally upto 1000
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Shell Meta Characters}
+ \begin{itemize}
+ \item ``meta characters'' are special command directives
+ \item No meta-characters in file-names
+ \item While naming files, use characters A-Z, a-z, 0-9, . , - , \_
+ \item shell meta characters -- \\
+ \verb+/<>!$%^&*|{}[]"'`~;+
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Summary}
+\label{sec-8}
+
+ In this tutorial, we have learnt to,
+
+
+\begin{itemize}
+\item Implement features of shell like tab-completion and history
+\item Make use of the shell meta characters
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Evaluation}
+\label{sec-9}
+
+
+\begin{enumerate}
+\item Bash does not provide tab completion for Host Names. True or False?
+\vspace{12pt}
+\item State the command which will list all the files in the current working
+ directory that end in either \verb~.c~ or \verb~.h~
+\end{enumerate}
+\end{frame}
+\begin{frame}
+\frametitle{Solutions}
+\label{sec-10}
+
+
+\begin{enumerate}
+\item False
+\vspace{15pt}
+\item \$ ls *.[ch]
+\end{enumerate}
+\end{frame}
+
+\begin{frame}
+\frametitle{SDES \& FOSSEE}
+\begin{center}
+\begin{itemize}
+\item \small{SDES}\\
+\small{\color{LimeGreen}Software Development techniques for Engineers and Scientists} \\
+\scriptsize An initiative by FOSSEE. \\
+\vspace{3pt}
+\scriptsize For more information on SDES, please visit {\color{blue}\url{http://fossee.in/sdes}}\\
+\vspace{10pt}
+\item \small{FOSSEE}\\
+\small {\color{LimeGreen}Free and Open-source Software for \\Science and Engineering Education} \\
+\scriptsize Based at IIT Bombay, Funded by MHRD.\\
+\vspace{3pt}
+\scriptsize Part of National Mission on Education through ICT \\(NME-ICT) \\
+\end{itemize}
+\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{About the Spoken Tutorial Project}
+\begin{itemize}
+\item Watch the video available at {\color{blue}\url{http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}}
+\item It summarises the Spoken Tutorial project
+\item If you do not have good bandwidth, you can download and watch it
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Spoken Tutorial Workshops}The Spoken Tutorial Project Team
+\begin{itemize}
+\item Conducts workshops using spoken tutorials
+\item Gives certificates to those who pass an online test
+\item For more details, please write to \\ \hspace {0.5cm}{\color{blue}contact@spoken-tutorial.org}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Acknowledgements}
+\begin{itemize}
+\item Spoken Tutorial Project is a part of the Talk to a Teacher project
+\item It is supported by the National Mission on Education through ICT, MHRD, Government of India
+\item More information on this Mission is available at: \\{\color{blue}\url{http://spoken-tutorial.org/NMEICT-Intro}}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+
+ \begin{block}{}
+ \begin{center}
+ {\Large THANK YOU!}
+ \end{center}
+ \end{block}
+\begin{block}{}
+ \begin{center}
+ For more Information, visit our website\\
+ {\color{blue}\url{http://fossee.in/}}
+ \end{center}
+ \end{block}
+\end{frame}
+
+
+\end{document}
+