Commit 2d49f37a authored by Rémy Huet's avatar Rémy Huet 💻

Conditions sur les chaines de caractères

parent 5cafed40
Pipeline #33617 passed with stage
in 19 seconds
......@@ -9,6 +9,7 @@
\usepackage[]{url}
\usepackage[babel=true]{csquotes}
\usepackage{listings}
\usepackage{tabularx}
\usepackage{fancyvrb}
\usepackage{xcolor}
\usepackage{tikz}
......
\subsection{Syntaxe}
\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
......@@ -37,7 +39,7 @@
\begin{block}{}
\begin{itemize}
\item À noter : \texttt{fi}, c'est \texttt{if} à l'envers !
\item On verra plud tard quelles sont les conditions que l'on peut utiliser.
\item On verra plus tard quelles sont les conditions que l'on peut utiliser.
\end{itemize}
\end{block}
\end{frame}
......@@ -65,7 +67,7 @@
\begin{frame}[fragile]{En bash \ldots}
\begin{block}{}
En bash, on utilise la même syntaxe, et on utilise \enquote{else} comme môt clé pour le \enquote{sinon}
En bash, on utilise la même syntaxe, et on utilise \enquote{else} comme mot clé pour le \enquote{sinon}
\end{block}
\medskip
\begin{Verbatim}
......@@ -110,7 +112,7 @@
\end{Verbatim}
\begin{alertblock}{}
NB: On peut mettre autant de \enquote{SINON SI \ldots ALORS \ldots} que l'on veut
N.B: On peut mettre autant de \enquote{SINON SI \ldots ALORS \ldots} que l'on veut
\end{alertblock}
\end{frame}
......@@ -140,3 +142,71 @@
{\large fi}
\end{Verbatim}
\end{frame}
\subsection{Les conditions}
\begin{frame}[fragile]{Chaînes de caractères}{Les différents tests}
\begin{table}
\centering
\begin{tabularx}{\linewidth}{|X|X|}
\hline
\textbf{Test et syntaxe} & \textbf{Explications} \\
\hline\hline
\verb+$"chaine1" == $"chaine2"+ & Test d'égalité entre \verb+$chaine1+ et \verb+$chaine2+ \\
\hline
\verb+$"chaine1" != $"chaine2"+ & Test si \verb+$chaine1+ et \verb+$chaine2+ sont différents \\
\hline
\verb+-z $chaine+ & Teste si la la variable \verb+$chaine+ est vide \\
\hline
\verb+-n $chaine+ & Teste si la variable \verb+$chaine+ est non vide \\
\hline
\end{tabularx}
\caption{Les tests sur les chaines de caractères}
\label{tab:tests_chaines}
\end{table}
\end{frame}
\begin{frame}[fragile]{Chaînes de caractères}{Exemples}
Dans \verb+script.sh+ :
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
#!/bin/bash
if [ "$1" == "mot_de_passe" ]
then
echo 'Bienvenue'
elif [ "$1" == "password" ]
then
echo 'Welcome !'
else
echo 'Dégage !'
fi
if [ -z $2 ]
then
echo "Il n'y a pas de second argument"
\end{Verbatim}
\end{beamercolorbox}
\end{frame}
\begin{frame}[fragile]
On exécute :
\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
\begin{Verbatim}
remy@hp-remy:~/scripts$ ./script.sh \Pause
Dégage !
Il n'y a pas de second argument \Pause
remy@hp-remy:~/scripts$ ./script.sh mot_de_passe \Pause
Bienvenue
Il n'y a pas de second argument \Pause
remy@hp-remy:~/scripts$ ./script.sh password toto \Pause
Welcome !
\end{Verbatim}
\end{beamercolorbox}
\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{=}
\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