Verified Commit c0f3102f authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

Mise en forme + précision sur les quotes dans les tests d'égalité

parent 5ab42570
......@@ -2,7 +2,7 @@
\begin{frame}[fragile]{Introduction}
\begin{block}{Définition}
On appelle {\bf condition} ou {\bf structure conditionnelle} une zone de code qui n'est pas toujours exécutée, mais l'est uniquement dans certains cas
On appelle {\bf condition} ou {\bf structure conditionnelle} un morceau de code qui est exécuté uniquement dans certains cas.
\end{block}
En algorithmique, on les voit souvent sous la forme :
\medskip
......@@ -17,12 +17,12 @@
\end{Verbatim}
\begin{alertblock}{}
Dans tous les cas, on retrouvera {\bf toujours} une ou plusieurs conditions et une ou plusieurs actions à effectuer.
On retrouvera {\bf toujours} une ou plusieurs conditions et une ou plusieurs actions à effectuer.
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Et en bash ?}
En bash, la structure à utiliser est la suivante :
\begin{frame}[fragile]{Et en Bash ?}
En Bash, la structure à utiliser est la suivante :
\medskip
\begin{Verbatim}
{\large if [ condition ]}
......@@ -44,10 +44,10 @@
\end{block}
\end{frame}
\begin{frame}[fragile]{Si \ldots sinon \ldots}
\begin{frame}[fragile]{Si~\ldots sinon~\ldots}
\begin{block}{Contexte}
La structure précédente permet de réaliser des actions si une condition est réalisée.
On rencontre souvent une autre structure, qui dit aussi quoi faire si la condition n'est pas réalisée :
La structure précédente permet de réaliser des actions si une condition est évaluée à \textbf{vrai}.
On rencontre souvent une autre structure, qui dit aussi quoi faire si la condition est évaluée à \textbf{faux} :
\end{block}
\begin{Verbatim}
......@@ -65,9 +65,9 @@
\end{Verbatim}
\end{frame}
\begin{frame}[fragile]{En bash \ldots}
\begin{frame}[fragile]{En Bash~\ldots}
\begin{block}{}
En bash, on utilise la même syntaxe, et on utilise \enquote{else} comme mot clé pour le \enquote{sinon}
En Bash, on utilise la même syntaxe, et on utilise \enquote{\texttt{else}} comme mot clé pour le \enquote{sinon}.
\end{block}
\medskip
\begin{Verbatim}
......@@ -112,11 +112,11 @@
\end{Verbatim}
\begin{alertblock}{}
N.B: On peut mettre autant de \enquote{SINON SI \ldots ALORS \ldots} que l'on veut
On peut mettre autant de \enquote{SINON SI \ldots ALORS \ldots} que l'on veut !
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{En bash}
\begin{frame}[fragile]{En Bash}
\begin{block}{}
En bash, \enquote{SINON SI} s'écrit \texttt{elif} (contraction de \texttt{else} et \texttt{if}) :
\end{block}
......@@ -152,13 +152,13 @@
\hline
\textbf{Test et syntaxe} & \textbf{Explications} \\
\hline\hline
\verb+"$chaine1" == "$chaine2"+ & Test d'égalité entre \verb+$chaine1+ et \verb+$chaine2+ \\
\verb+"$chaine1" == "$chaine2"+ & Teste si \verb+$chaine1+ et \verb+$chaine2+ sont \textbf{égaux}\\
\hline
\verb+"$chaine1" != "$chaine2"+ & Test si \verb+$chaine1+ et \verb+$chaine2+ sont différents \\
\verb+"$chaine1" != "$chaine2"+ & Teste si \verb+$chaine1+ et \verb+$chaine2+ sont \textbf{différents} \\
\hline
\verb+-z $chaine+ & Teste si la la variable \verb+$chaine+ est vide \\
\verb+-z $chaine+ & Teste si la la variable \verb+$chaine+ est \textbf{vide} \\
\hline
\verb+-n $chaine+ & Teste si la variable \verb+$chaine+ est non vide \\
\verb+-n $chaine+ & Teste si la variable \verb+$chaine+ est \textbf{non vide} \\
\hline
\end{tabularx}
\caption{Les tests sur les chaines de caractères}
......@@ -167,31 +167,35 @@
\end{frame}
\begin{frame}[fragile]{Chaînes de caractères}{Exemples}
Dans \verb+script.sh+ :
Dans \verb+script.sh+, on écrit :
\medskip
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
#!/bin/bash
if [ "$1" == "mot_de_passe" ]
then
echo 'Bienvenue'
echo 'Bienvenue'
elif [ "$1" == "password" ]
then
echo 'Welcome !'
echo 'Welcome !'
else
echo 'Dégage !'
echo 'Dégage !'
fi
if [ -z $2 ]
then
echo "Il n'y a pas de second argument"
echo "Il n'y a pas de second argument"
fi
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}[fragile]
On exécute :
L'exécution du script donne :
\medskip
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
remy@hp-remy:~/scripts$ ./script.sh \Pause
......@@ -204,10 +208,12 @@ remy@hp-remy:~/scripts$ ./script.sh password toto \Pause
Welcome !
\end{Verbatim}
\end{beamercolorbox}
\medskip
\begin{alertblock}{}
\begin{itemize}
\item Il est important de mettre des double quotes autour des variables lors des tests fait avec \texttt{==} ou \texttt{!=}, sinon bash sort une erreur.
\item On peut éventuellement faire le test d'égalité avec un seul signe \texttt{=}
\item C'est une bonne pratique de mettre des double quotes autour des variables lors des tests, avec \texttt{==} ou \texttt{!=}, en particulier si la valeur de la variable contient des espaces !
\item On peut éventuellement faire le test d'égalité avec un seul signe \texttt{=}.
\end{itemize}
\end{alertblock}
\end{frame}
......
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