diff options
author | Jovina | 2012-08-08 12:37:21 +0530 |
---|---|---|
committer | Jovina | 2012-08-08 12:37:21 +0530 |
commit | 83cd96fab979b0fb1c815a321ec0cc127e1cf4ea (patch) | |
tree | 8b029064a0e97477645185f012ff191a6b084ec6 /ult/ult_7 | |
parent | 267a675b5f3b6edc08eb23af58fe8628836dd3f9 (diff) | |
download | sdes-stscripts-83cd96fab979b0fb1c815a321ec0cc127e1cf4ea.tar.gz sdes-stscripts-83cd96fab979b0fb1c815a321ec0cc127e1cf4ea.tar.bz2 sdes-stscripts-83cd96fab979b0fb1c815a321ec0cc127e1cf4ea.zip |
Removed ult_7.
Diffstat (limited to 'ult/ult_7')
-rw-r--r-- | ult/ult_7/06- track.mp3 | 0 | ||||
-rw-r--r-- | ult/ult_7/clause.sh | 20 | ||||
-rw-r--r-- | ult/ult_7/dir-test.sh | 5 | ||||
-rw-r--r-- | ult/ult_7/emerald.mp3 | 0 | ||||
-rw-r--r-- | ult/ult_7/for-1.sh | 4 | ||||
-rw-r--r-- | ult/ult_7/for-2.sh | 4 | ||||
-rw-r--r-- | ult/ult_7/for-3.sh | 4 | ||||
-rw-r--r-- | ult/ult_7/for-5.sh | 4 | ||||
-rw-r--r-- | ult/ult_7/premier.mp3 | 0 | ||||
-rw-r--r-- | ult/ult_7/script.rst | 401 | ||||
-rw-r--r-- | ult/ult_7/sign.sh | 7 | ||||
-rw-r--r-- | ult/ult_7/society.mp3 | 0 | ||||
-rw-r--r-- | ult/ult_7/ult7.tex | 202 | ||||
-rw-r--r-- | ult/ult_7/while-1.sh | 4 | ||||
-rw-r--r-- | ult/ult_7/while-2.sh | 7 |
15 files changed, 0 insertions, 662 deletions
diff --git a/ult/ult_7/06- track.mp3 b/ult/ult_7/06- track.mp3 deleted file mode 100644 index e69de29..0000000 --- a/ult/ult_7/06- track.mp3 +++ /dev/null diff --git a/ult/ult_7/clause.sh b/ult/ult_7/clause.sh deleted file mode 100644 index 23017f2..0000000 --- a/ult/ult_7/clause.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Script to greet the user according to time of day -hour=`date | cut -c12-13` -now=`date +"%A, %d of %B, %Y (%r)"` -if [ $hour -lt 12 ] -then - mess="Good Morning $LOGNAME, Have a nice day!" -fi - -if [ $hour -gt 12 -a $hour -le 16 ] -then - mess="Good Afternoon $LOGNAME" -fi - -if [ $hour -gt 16 -a $hour -le 18 ] -then - mess="Good Evening $LOGNAME" -fi -echo -e "$mess\nIt is $now" - diff --git a/ult/ult_7/dir-test.sh b/ult/ult_7/dir-test.sh deleted file mode 100644 index 11479ff..0000000 --- a/ult/ult_7/dir-test.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -if test -d $1 -then - echo "Yes, the directory" $1 "is present" -fi diff --git a/ult/ult_7/emerald.mp3 b/ult/ult_7/emerald.mp3 deleted file mode 100644 index e69de29..0000000 --- a/ult/ult_7/emerald.mp3 +++ /dev/null diff --git a/ult/ult_7/for-1.sh b/ult/ult_7/for-1.sh deleted file mode 100644 index 86545b7..0000000 --- a/ult/ult_7/for-1.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in {5..10} -do - echo $i -done diff --git a/ult/ult_7/for-2.sh b/ult/ult_7/for-2.sh deleted file mode 100644 index ad34c9a..0000000 --- a/ult/ult_7/for-2.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in `ls *.mp3` -do - echo "$i" -done diff --git a/ult/ult_7/for-3.sh b/ult/ult_7/for-3.sh deleted file mode 100644 index 8bb9f8d..0000000 --- a/ult/ult_7/for-3.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in *.mp3 -do - echo "$i" -done diff --git a/ult/ult_7/for-5.sh b/ult/ult_7/for-5.sh deleted file mode 100644 index dc17f64..0000000 --- a/ult/ult_7/for-5.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in *.mp3 -do - mv $i `echo $f|tr -s " " "-"|cut -d - -f 2-` -done diff --git a/ult/ult_7/premier.mp3 b/ult/ult_7/premier.mp3 deleted file mode 100644 index e69de29..0000000 --- a/ult/ult_7/premier.mp3 +++ /dev/null diff --git a/ult/ult_7/script.rst b/ult/ult_7/script.rst deleted file mode 100644 index 4efdfd9..0000000 --- a/ult/ult_7/script.rst +++ /dev/null @@ -1,401 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Prepare scripts using 'Control Operators'. - .. 2. Understand what 'Environment Variables' are. - -.. 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 -.. 6. Using Linux tools - Part 6 - - - -Script ------- - -.. L1 - -{{{ Show the first slide containing title, name of the production -team along with the logo of MHRD }}} - -.. R1 - -Hello friends and Welcome to the tutorial on -'Using linux tools - Part 7'. - -.. L2 - -{{{ Show the 'Objectives' slide }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Prepare scripts using 'Control Operators'. - 2. Understand what 'Environment Variables' are. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial, we suggest you to complete the -tutorials, "Using Linux tools, Part 1 to Part 6". - -.. R4 - -We have many 'Control Structures and Operators' available in the linux bash. -Let us look at how to use them. -To write an 'if', or an 'if-else' construct, we need to check or test for a -condition(s). The ``test`` command allows us to test for condition(s). It has -a whole range of tests that can be performed. The man page of ``test`` -gives you the complete listing of various types of tests that can be performed -with it. - -Let's write a simple script with an ``if`` condition that tests whether a -directory with a particular name, exists or not. - -.. L4 - -.. L5 - -{{{ Show slide, 'if' }}} - -.. R5 - -Let us create a script named ``dir-test.sh`` with this code. - - #!/bin/bash - if test -d $1 - then - echo "Yes, the directory" $1 "is present" - fi - -When the script is run with an argument, it will print a message, if a -directory with the said name exists in the current working directory. - -.. R6 - -Let's write a simple script which returns back whether the argument passed -is negative or not. - -.. L6 - -{{{ Open the file sign.sh and show }}} -:: - - #!/bin/bash - if test $1 -lt 0 - then - echo "number is negative" - else - echo "number is non-negative" - fi - -.. R7 - -We can run the file with a set of different inputs and see if it works. - -.. L7 - -{{{ Switch to terminal }}} -:: - - ./sign.sh -11 - -.. R8 - -Instead of using the ``test`` command, square brackets may also be used. - -.. L8 - -.. L9 - -{{{ Show slide, [ ] - alias for test }}} - -.. R9 - -Note that the spacing is important, when using the square brackets. -The left square bracket ( ``[`` ) should be followed by a space and the right -square bracket ( ``]`` ) should be preceded by a space. - -Let's create something interesting using the 'if-else' clause. Let's write a -script, that greets the user, based on the time. - -.. L10 - -{{{ Open the file clause.sh and show }}} -{{{ Highlight the required content wherever necessary, while narrating }}} - -.. R10 - -There are a couple of new things in this script. ``$LOGNAME`` is another -'environment variable', which has the login name of the user. The variables, -``hour`` and ``now`` are actually taking the output of the commands that -are placed in the back quotes. - -Now, let us see how to run loops in bash. We shall look at the ``for`` and -the ``while`` loops. - -.. L11 - -{{{ Show slide, 'for' }}} - -.. R11 - -Suppose we have a set of files, whose file-names contain numbers before the -text, say ``08 - Society.mp3``. We would like to rename these files by -removing the numbers before the text. How would we go about doing that? - -It is clear from the problem statement that we could loop over the list of -files and rename each of them. - -.. R12 - -First, let us look at a simple ``for`` loop, to understand how it works. - -.. L12 - -{{{ Switch to terminal }}} -:: - - for animal in rat cat dog man - do - echo $animal - done - -.. R13 - -We just wrote a list of animals, each name separated by a space -and then printed each name on a separate line. The variable ``animal`` is a -'dummy' or a 'loop variable'. It can then be used to refer to the element of -the list that is currently being dealt with. We could, obviously, use -something as lame as ``i`` in place of ``animal``. - -.. L13 - -.. R14 - -To generate a range of numbers and iterate over them, we do the following. - -.. L14 - -{{{ Open the script ``for-1.sh`` and show }}} - -.. R15 - -Now, let us run the script and see what we get, - -.. L15 - -{{{ Switch to terminal }}} -:: - - sh for-1.sh - -.. R16 - -Now, we use a ``for`` loop to list the files that we are interested in. - -.. L16 - -{{{ Open the script ``for-2.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-2.sh - -.. R17 - -If the file-names contain spaces, ``for`` assumes, each word separated by a -space,to be a single item in the list and prints it in a separate line. We -could modify the script slightly to overcome this problem. - -.. L17 - -{{{ Open the script ``for-3.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-3.sh - -.. R18 - -Now, we have each file name printed on a separate line. The file names are -in the form ``dd - Name.mp3`` and it has to be changed to the format -``Name.mp3``. Also, if the name has spaces, we wish to replace it with -hyphens. - -.. L18 - -{{{ Open the script ``for-4.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-4.sh - -.. R19 - -Now, we simply replace the echo command with a ``mv`` command. - -.. L19 - -{{{ Open the script ``for-5.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-5.sh - -.. R20 - -We see that we get our required output. All the files have been renamed and -the spaces are removed. -Now let us move ahead with ``while`` loop. -The ``while`` command allows us to continuously execute a block of commands -until the command that is controlling the loop is executing successfully. - -.. L20 - -.. R21 - -Let's start with the lamest example of a ''while'' loop. - -.. L21 - -{{{ Open the script ``while-1.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh while-1.sh - -.. R22 - -This, as you can see, is an infinite loop that prints ``True``. - -Say, we wish to write a simple program that takes input from the user -and prints it back, until the input is ``quit``, which then quits the program. - -.. L22 - -{{{ Open the script ``while-2.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh while-2.sh - -.. L23 - -{{{ Show slide, Environment Variables }}} - -.. R23 - -'Environment variables' are a way of passing information from the shell to the -programs that are run in it. Standard UNIX variables are split into two -categories,'Environment variables' and 'Shell variables'. In broad terms, -'Shell variables' apply only to the current instance of the shell and are -used to set short-term working conditions; 'Environment variables' have a -farther reaching significance, and are set at login, valid for the duration of -the session. By convention, 'Environment variables' have UPPER CASE and 'Shell -variables' have lower case names. - -You can see an example of environment variables in the slide. - -.. R24 - -To see all the variables and their values, we could use any of the -following, - -.. L24 - -{{{ Switch to terminal }}} -:: - - printenv | less - env - -.. R25 - -We have looked at the 'PATH' variable, in the previous tutorial. We shall now -use the ``export`` command to change it's value. - -.. L25 -:: - - export PATH=$PATH:$HOME/bin - -.. R26 - -Observe the difference in the value of 'PATH' variable before and after -modifying it. - -``export`` command is used to export a variable to the environment of all -the processes that are started from that shell. - -.. L26 - -.. L27 - -{{{ Switch to 'Summary' slide }}} - -.. R27 - -This brings us to the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Prepare scripts using control structures like ``if``, ``if-else``, - ``for`` and ``while``. - 2. Use 'environment variables'. - 3. Export a variable to the environment of all the processes, using - the ``export`` command. - -.. L28 - -{{{ Show self assessment questions slide }}} - -.. R28 - -Here are some self assessment questions for you to solve: - - 1. Print the text ``dog man`` in such a way that the prompt - continues after the text. - - 2. How can you add a new path variable ``/data/myscripts`` to $PATH variable ? - -.. L30 - -{{{ Solutions of self assessment questions on slide }}} - -.. R30 - -And the answers, - - 1. We print the given text using the ``echo`` command by using an additional - option -n as, -:: - - $echo -n dog man - - 2. We can add a new path variable by using the export command as, - -:: - - $export PATH=$PATH://data/myscripts - -.. L31 - -{{{ Show the Thank you slide }}} - -.. R31 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - diff --git a/ult/ult_7/sign.sh b/ult/ult_7/sign.sh deleted file mode 100644 index 246150d..0000000 --- a/ult/ult_7/sign.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -if test $1 -lt 0 -then - echo "number is negative" -else - echo "number is non-negative" -fi diff --git a/ult/ult_7/society.mp3 b/ult/ult_7/society.mp3 deleted file mode 100644 index e69de29..0000000 --- a/ult/ult_7/society.mp3 +++ /dev/null diff --git a/ult/ult_7/ult7.tex b/ult/ult_7/ult7.tex deleted file mode 100644 index a306272..0000000 --- a/ult/ult_7/ult7.tex +++ /dev/null @@ -1,202 +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 VII} -\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 scripts using 'Control Operators'. -\item Understand what 'Environment Variables' are. -\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 -\item Using Linux tools -- Part VI -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{if}} - \begin{itemize} - \item Print message if directory exists in \texttt{pwd} - \end{itemize} - \begin{lstlisting} - #!/bin/bash - if test -d $1 - then - echo "Yes, the directory" \ - $1 "is present" - fi - \end{lstlisting} % $ -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{[ ]} - alias for \texttt{test}} - \begin{itemize} - \item Square brackets (\texttt{[]}) can be used instead of - \texttt{test} - \item - \end{itemize} - \begin{lstlisting} - #!/bin/bash - if [ $1 -lt 0 ] - then - echo "number is negative" - else - echo "number is non-negative" - fi - \end{lstlisting} % $ - \begin{itemize} - \item \alert{spacing is important, when using the square brackets} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{for}} - \begin{block}{Problem} - Given a set of \texttt{.mp3} files, that have names beginning with - numbers followed by their names --- \texttt{08 - Society.mp3} --- - rename the files to have just the names. Also replace any spaces - in the name with hyphens. - \end{block} - \begin{itemize} - \item Loop over the list of files - \item Process the names, to get new names - \item Rename the files - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Environment Variables} - \begin{itemize} - \item Pass information from shell to programs running in it - \item Behavior of programs can change based on values of variables - \item Environment variables vs. Shell variables - \item Shell variables -- only current instance of the shell - \item Environment variables -- valid for the whole session - \item Convention -- environment variables are UPPER CASE - \end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Prepare scripts using control structures like ``if'', ``if-else'', - ``for'' and ``while''. -\item Use 'environment variables'. -\item Export a variable to the environment of all the processes, using - the ``export'' command. -\end{itemize} -\end{frame} -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item Print the text ``dog man'' in such a way that the prompt - continues after the text. -\vspace{8pt} -\item How can you add a new path variable ``/data/myscripts'' to \$PATH variable ? -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item \$ echo -n dog man -\vspace{15pt} -\item \$ export PATH=\$PATH://data/myscripts -\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_7/while-1.sh b/ult/ult_7/while-1.sh deleted file mode 100644 index 485e167..0000000 --- a/ult/ult_7/while-1.sh +++ /dev/null @@ -1,4 +0,0 @@ -while true -do - echo "True" -done diff --git a/ult/ult_7/while-2.sh b/ult/ult_7/while-2.sh deleted file mode 100644 index 5fbdd11..0000000 --- a/ult/ult_7/while-2.sh +++ /dev/null @@ -1,7 +0,0 @@ -while [ "$variable" != "quit" ] -do - read variable - echo "Input - $variable" -done -exit 0 - |