From 203fa2f3554a2bda0b6f9478983e78d3ffcffb1c Mon Sep 17 00:00:00 2001 From: Emmanuel Srivastava Date: Tue, 19 Nov 2024 14:20:30 +0100 Subject: [PATCH] update --- TD05/srivasta-6-td05-reponses.txt | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 TD05/srivasta-6-td05-reponses.txt diff --git a/TD05/srivasta-6-td05-reponses.txt b/TD05/srivasta-6-td05-reponses.txt new file mode 100644 index 0000000..02bfb29 --- /dev/null +++ b/TD05/srivasta-6-td05-reponses.txt @@ -0,0 +1,62 @@ +I. Substitutions. +1. Si name est le nom d’une variable, alors $name sera substitu´e par value +x=pop +Alors echo x ; affiche : pop , et echo $x ; affiche : le contenu de pop +x=5+7 ; Alors echo $x ; affiche : l'adition de 5+7 soit 12 +PWD est une variable du shell qui retient le chemin complet vers le r´epertoire de travail +courant : +PWD: The current working directory as set by the cd command. +On veut afficher la chaˆıne de caract`eres : +Working directory: /export/home/students/quidam/SCR/ +o`u ce qui vient apr`es les : doit se substituer, `a chaque fois, par le chemin complet du +r´epertoire courant. +Une ligne de commande qui le fait : echo + +2. +On me remet un ficher list contenant une liste de noms d’´el´ements dont je dois v´erifier +le type du contenu. Je veux avoir en un seul affichage le type du contenu de chacun des +´el´ements dont le nom est enregistr´e dans le fichier list : +Une ligne de commande qui le fait : echo $(ls list) + +3. +x=5+7 (cf. 1) Alors echo $x ; affiche : le calcul de 5+7 qui est 12 +x=$((5+7)) Alors echo $x ; affiche : aussi le calcul de 5+7 qui est 12 car le dollar +dans l'instanciation fait que x=(5+7) car le dollar a enlevé les parenthèses + +y=5 ; z=-7 +x=y*z ; alors echo $x ; affiche :le produit de y et z qui est -35 + +x=$((y*z)) ; alors echo $x ; affiche : pareil que la question dernière avec le meme raisonnement +que la question précedent celle d'avant + +II. Expressions conditionnelles. + +Put all together : +1. [[ myrmidon < myriade ]] ; echo $? ; affiche : 1 car elle est vraie dans l'ordre alphabetique +mymidon < myriade +2. [[ 4567 < 5 ]] ; echo $? ; affiche : 0 car 4567>5 +3. [[ patate == potato ]] ; echo $? ; affiche : 0 car patate n'est pas le meme mot que potato +4. [[ patate -eq potato ]] ; echo $? ; affiche 0 car patate n'est pas égal à potato + +II. Commandes compos´ees. +1. if list; then list; [ elif list; then list; ] ... [ else list; ] fi + +(a) if [[ myrmidon < myriade ]] +> then echo "myrmidon sorts before myriade" +> else echo "myrmidon does not sort before myriade" +> fi +affiche : myrmidon sorts before myriade + car myrmidon est inférieur a myriade en terme alfabetiques. + +(b) On lance deux fois de suite : +if [[ -d VROOM ]] ; then cd VROOM ; else mkdir VROOM ; fi +What will happen ? +La premiere fois mkdir VROOM car VROOM n'est pas un directory donc on ne lance pas la premiere condition + mais alors à la deuxieme fois cd VROOM sera lancé + +2. for name in word(s) ; do list ; done +The list of word(s) following in is expanded, generating a list of items. +The variable name is set to each element of this list in turn, and the do list +is executed each time. +(a) for i in "1 2 3" ; do echo $i ; done ; s’ex´ecute . . . fois et affiche : +