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

Précision et ajout du script manquant pour la boucle for

parent 306d665d
...@@ -17,32 +17,32 @@ ...@@ -17,32 +17,32 @@
\item Statique (le nombre d'exécutions est fixé et ne peut pas dépendre de paramètres extérieurs) \item Statique (le nombre d'exécutions est fixé et ne peut pas dépendre de paramètres extérieurs)
\end{itemize} \end{itemize}
C'est pourquoi on utilise des \textbf{boucles} C'est pourquoi on utilise des \textbf{boucles}.
\end{block} \end{block}
\end{frame} \end{frame}
\begin{frame}{Les boucles en théorie} \begin{frame}{Les boucles en théorie}
\begin{block}{Définition} \begin{block}{Définition}
Une boucle est une structure permettant de réaliser de manière répétée une action. Une boucle est une structure permettant de répéter un ensemble d'instructions.
Elle est composée: Elle est composée:
\begin{itemize} \begin{itemize}
\item D'un corps: c'est l'ensemble des instructions qui seront exécutées lors d'un passage dans la boucle. \item D'un corps: c'est l'ensemble des instructions qui seront exécutées lors d'un passage dans la boucle.
\item D'une condition de réalisation: si celle-ci est vraie, un passage est effectué \item D'une condition de réalisation: si celle-ci est vraie, une \textbf{itération} est effectuée.
\end{itemize} \end{itemize}
\end{block} \end{block}
\begin{alertblock}{N.B} \begin{alertblock}{Note}
La condition peut correspondre à n'importe laquelle des conditions vues précédemment. La condition peut correspondre à n'importe laquelle des conditions vues précédemment.
Elle peut ne jamais être fausse. On parlera alors de \textbf{boucle infinie}. Elle peut ne jamais être fausse. On parlera alors de \textbf{boucle infinie}.
\textit{Par exemple, 1 -eq 1 est une engendrera une boucle infinie} \textit{Par exemple, 1 -eq 1 est une engendrera une boucle infinie.}
\end{alertblock} \end{alertblock}
\end{frame} \end{frame}
\subsection{La boucle tant que \ldots faire} \subsection{La boucle tant que~\ldots faire}
\begin{frame}[fragile]{En théorie} \begin{frame}[fragile]{En théorie}
\begin{block}{Explications} \begin{block}{Explications}
Elle est composée d'une condition \enquote{simple} \textit{comme celle des if} et d'un corps. Elle est composée d'une condition et d'un corps.
Elle est de la forme : Elle est de la forme :
\end{block} \end{block}
\begin{Verbatim} \begin{Verbatim}
...@@ -57,11 +57,11 @@ ...@@ -57,11 +57,11 @@
\begin{block}{Concrètement} \begin{block}{Concrètement}
Son fonctionnement est assez simple. Son fonctionnement est assez simple.
Tant que la condition est vérifiée, la boule boucle. Tant que la condition est vérifiée, la boucle s'exécute.
\end{block} \end{block}
\end{frame} \end{frame}
\begin{frame}[fragile]{Et en bash?} \begin{frame}[fragile]{Et en Bash?}
En bash, la syntaxe de cette boucle est la suivante : En bash, la syntaxe de cette boucle est la suivante :
\begin{Verbatim} \begin{Verbatim}
{\large while [ condition ]} {\large while [ condition ]}
...@@ -78,16 +78,16 @@ ...@@ -78,16 +78,16 @@
\begin{Verbatim} \begin{Verbatim}
#!/bin/bash #!/bin/bash
while [ -z $reponse ] || [ $reponse != 'oui' ]\textcolor{red}{# ou juste [ ``$reponse'' != oui ]} while [ -z "$reponse" ] || [ "$reponse" != 'oui' ]\textcolor{red}{ # ou juste [ "$reponse" != oui ]}
do do
read -p 'Dites oui : ' reponse read -p "Dites oui : " reponse
done done
\end{Verbatim} \end{Verbatim}
\end{beamercolorbox} \end{beamercolorbox}
\begin{block}{} \begin{block}{}
Ce script demandera à l'utilisateur d'entrer du texte tant que l'utilisateur n'enverra pas \enquote{oui} Ce script demandera à l'utilisateur d'entrer du texte tant que l'utilisateur n'enverra pas \enquote{oui}.
On notera que comme pour les if, on peut utiliser les opérateurs arithmétiques On notera que comme pour les if, on peut utiliser les opérateurs arithmétiques.
\end{block} \end{block}
\end{frame} \end{frame}
...@@ -128,14 +128,15 @@ done ...@@ -128,14 +128,15 @@ done
\begin{Verbatim} \begin{Verbatim}
#!/bin/bash #!/bin/bash
while [ "$reponse" != 'oui' ] for file in *
do do
read -p 'Dites oui : ' reponse cat "$file"
done done
\end{Verbatim} \end{Verbatim}
\end{beamercolorbox} \end{beamercolorbox}
\begin{block}{} \begin{block}{}
Ce script demandera une entrée à l'utilisateur tant que ça ne sera pas \enquote{oui} Ce script affichera l'ensemble des fichiers du répertoire d'exécution du script. Notez que le joker \texttt{*}, comme dans le terminal, capture le contenu du répertoire courant.
\end{block} \end{block}
\end{frame} \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