Commit 09aee27b authored by Rémy Huet's avatar Rémy Huet 💻

Merge branch 'introduction'

parents cf1b7935 da02dfd2
Pipeline #33525 passed with stages
in 50 seconds
......@@ -11,11 +11,12 @@
\usepackage{listings}
\usepackage{fancyvrb}
\usepackage{xcolor}
\usepackage{tikz}
\hypersetup{
pdfauthor={Rémy Huet},
pdftitle={Api/casoft Init - Jour 3 partie 1 : sh}
pdfsubject={Formation sh},
pdfkeywords={scipts, linux, GNU/Linux, sh, posix},
pdftitle={Api/casoft Init - Jour 3 partie 1 : Scripts shell}
pdfsubject={Formation shell},
pdfkeywords={scipts, linux, GNU/Linux, shell, posix},
pdfproducer={Latex},
}
......@@ -35,7 +36,7 @@ pdfproducer={Latex},
{}
}
\title[Api/casoft Init - Sh]{Api/casoft Init - Jour 3 partie 1 - scripts sh}
\title[Api/casoft Init - Shell]{Api/casoft Init - Jour 3 partie 1 - scripts shell}
\titlegraphic{\includegraphics[width=5em]{./imgs/picasoft_logo.png}\\ \href{https://creativecommons.org/licenses/by-sa/4.0/deed.fr}{\includegraphics[width=4em]{./imgs/licence.eps}}}
\author[R. Huet]{%
\phantom{x}\hfill Rémy {\sc Huet} \hfill\phantom{x}}
......
\begin{Verbatim}
remy@hp-remy:~$ echo $SHELL \Pause
/bin/bash \Pause
remy@hp-remy:~$ ls /bin/*sh \Pause
/bin/bash /bin/csh /bin/sh /bin/tcsh /bin/zsh
\end{Verbatim}
\begin{frame}
\frametitle{Qu'est ce qu'un shell ?}
\begin{itemize}
\item Un shell est un {\bf interpréteur de commande}.
\item C'est le programme qui gère l'{\bf invité de commande}.
\item C'est donc lui qui a executé toutes les commandes que vous avez pu taper les derniers jours.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les différents shells}
\framesubtitle{Présentation}
\begin{block}{sh}
{\bf sh} ou {\it Bourne Shell} est le plux vieux de tous les shells. Il est sur tous les OS basés sur UNIX, mais est le plus pauvre en terme de fonctionnalités.
\end{block}
\begin{block}{Bash}
{\bf Bash} ou {\it Bourne Again Shell} est une amélioration du sh. Il est le shell par défaut de la plupart des distributions Linux et des terminaux Mac OS
\end{block}
\begin{block}{Mais aussi}
Il existe d'autres shells dérivant de sh : csh, tcsh, ksh, zsh.
\end{block}
\end{frame}
\begin{frame}
\frametitle{Les différents shells}
\framesubtitle{Évolution}
\begin{figure}[h]
\centering
\input{src/tizk/historique.tex}
\caption{Historique des shells}
\label{fig:historique}
\end{figure}
\end{frame}
\begin{frame}[fragile]
\frametitle{Les différents shells}
\framesubtitle{Connaître son shell}
\vfill
\begin{beamercolorbox}[rounded=true]{orangebox}
\enquote{Et moi, j'ai quoi comme shell ?}
\end{beamercolorbox}
\vfill
On peut connaître son shell par défaut grâce à la variable d'environnement \$SHELL. On l'affiche donc avec \verb+echo $SHELL+.
On peut aussi voir la liste des shells installés : ils sont généralement dans \verb+/bin+
\vfill
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\input{src/shell/connaitre_son_shell.tex}
\end{beamercolorbox}
\end{frame}
\begin{frame}[fragile]
\frametitle{Un tout premier script !}
\framesubtitle{Hello World !}
Pour nos scripts, on utilisera bash, qui est un bon compromis entre puissance et compatibilité.
On crée donc un fichier :
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
remy@hp-remy:~$ mkdir scripts \Pause
remy@hp-remy:~$ cd scripts \Pause
remy@hp-remy:~$ nano helloWorld.sh \Pause
\end{Verbatim}
\end{beamercolorbox}
Par convention, on utilisera l'extension {\bf .sh} pour tous nos scripts. \Pause
On écrit donc dans le fichier :
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
#!/bin/bash
echo 'Hello World !'
\end{Verbatim}
\end{beamercolorbox} \Pause
On rend le fichier executable et on lance le script :
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
remy@hp-remy:~$ chmod +x helloWorld.sh \Pause
remy@hp-remy:~$ ./helloWorld.sh \Pause
Hello World !
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\tikzstyle{shell}=[draw, rectangle, fill=black, text=white]
\tikzstyle{arrow}=[->, >=latex]
\begin{tikzpicture}
\node[shell] (sh)at(0,0){sh};
\node[shell] (csh)at(1,-1.5){csh};
\node[shell] (bash)at(-1,-3){bash};
\node[shell] (ksh)at(0,-3){ksh};
\node[shell] (tcsh)at(1,-3){tcsh};
\node[shell] (zsh)at(0,-4.5){zsh};
\draw[arrow] (sh) -- (csh);
\draw[arrow] (sh) -- (bash);
\draw[arrow] (sh) -- (ksh);
\draw[arrow] (csh) -- (tcsh);
\draw[arrow] (bash) -- (zsh);
\draw[arrow] (ksh) -- (zsh);
\draw[arrow] (tcsh) -- (zsh);
\end{tikzpicture}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment