Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:script_shell [Le 12/02/2024, 14:20]
81.247.240.195 ancienne révision (Le 19/09/2023, 14:21) restaurée pour vandalisme
tutoriel:script_shell [Le 02/08/2024, 17:13] (Version actuelle)
194.156.203.71 [L'arithmétique] correction attribution variable
Ligne 5: Ligne 5:
 ====== Introduction aux scripts shell ====== ====== Introduction aux scripts shell ======
  
-Un script shell permet d'​automatiser une série d'​opérations. Il se présente sous la forme d'un fichier contenant une ou plusieurs commandes qui  seront exécutées de manière séquentielle. Fantastique.+Un script shell permet d'​automatiser une série d'​opérations. Il se présente sous la forme d'un fichier contenant une ou plusieurs commandes qui  seront exécutées de manière séquentielle.
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Ligne 252: Ligne 252:
     echo "Bien joué !"     echo "Bien joué !"
   else   else
-    echo "Non mais quand même !!! SAPERLIPOPETTE ​C'​ÉTAIT $1 ET NON PAS $Reslt ​ESPECE DE NOUILLE ​!!!" +    echo "Non mais quand même !!! C'​ÉTAIT $1 ET NON PAS $Reslt ​PETIT FRIPON ​!!!" 
-    sleep 3 # Juste pour le fun du script qui enrage ​;-p +    sleep 3 # Juste pour le fun du script qui rage ;-p 
-    echo "Désolé, ​je te bannis de ubuntu-fr.org ! Et schbim ​!! Dommage tu ne peux rien contre moi !!!"+    echo "Donc je te bannis de ubuntu-fr.org ! Et toc !! Tu ne peux rien contre moi !!!"
     exit 1     exit 1
   fi   fi
Ligne 266: Ligne 266:
 Exemple: besoin de définir des plages de valeurs (1 à 500 puis 501 à 1000 puis 1001 à 1500…) Exemple: besoin de définir des plages de valeurs (1 à 500 puis 501 à 1000 puis 1001 à 1500…)
 <code bash> <code bash>
-id_per_step = 500+id_per_step=500
 for (( i=0; i<8; i++ )); do for (( i=0; i<8; i++ )); do
  (( min_step_id = 1 + $i * $id_per_step ))  (( min_step_id = 1 + $i * $id_per_step ))
Ligne 385: Ligne 385:
     ls -la     ls -la
 elif [ "​$ouinon"​ = "​n"​ ] || [ "​$ouinon"​ = "​N"​ ]; then elif [ "​$ouinon"​ = "​n"​ ] || [ "​$ouinon"​ = "​N"​ ]; then
-    echo "​Ok, ​Aurevoir! "+    echo "​Ok, ​bye! "
 else else
     echo "Il faut taper Y ou N!! Pas $ouinon"​     echo "Il faut taper Y ou N!! Pas $ouinon"​
Ligne 413: Ligne 413:
  
 Exemple : Exemple :
-créer le répertoire ​titi s'il n' existe pas+créer le répertoire ​toto s'il n' existe pas
 <code bash> <code bash>
-[ ! -d /tmp/titi ] && mkdir /tmp/titi +[ ! -d /tmp/toto ] && mkdir /tmp/toto 
-[ -d /tmp/titi ] || mkdir /tmp/titi +[ -d /tmp/toto ] || mkdir /tmp/toto 
-test ! -d /tmp/titi && mkdir  /tmp/titi +test ! -d /tmp/toto && mkdir  /tmp/toto 
-rm -rf /tmp/titi;mkdir /tmp/titi+rm -rf /tmp/toto;mkdir /tmp/toto
 </​code>​ </​code>​
  
Ligne 535: Ligne 535:
   ​   ​
 case "​$on"​ in case "​$on"​ in
-    oui | o | O | Oui | OUI ) echo "​Allez ​boire un Thé !";;+    oui | o | O | Oui | OUI ) echo "​Allez ​faire du café !";;
     non | n | N | Non | NON ) echo "​Programmez !";;     non | n | N | Non | NON ) echo "​Programmez !";;
     * ) echo "Ah bon ?";;     * ) echo "Ah bon ?";;
Ligne 547: Ligne 547:
 <code bash> <code bash>
 case "​$truc....."​ in case "​$truc....."​ in
-    [nN] *) echo "Blablablabla...";;+    [nN] *) echo "Blablabla...";;
     n* | N* ) echo "​Bla....";;​     n* | N* ) echo "​Bla....";;​
 </​code>​ </​code>​
Ligne 732: Ligne 732:
 #​favoritefood #​favoritefood
 if [ ${LANG:0:2} = "​fr"​ ]; then if [ ${LANG:0:2} = "​fr"​ ]; then
-    echo "Vous aimez la choucroute ​!"+    echo "Vous aimez les moules frites ​!"
 elif [ ${LANG:0:2} = "​en"​ ]; then elif [ ${LANG:0:2} = "​en"​ ]; then
-    echo "You love the... ​raclette ​!"+    echo "You love the... ​pudding ​!"
 elif [ ${LANG:0:2} = "​es"​ ]; then elif [ ${LANG:0:2} = "​es"​ ]; then
-    echo "Te gusta el pata negra !" ​   ​+    echo "Te gusta el jamón ​!" ​   ​
 else else
     echo ":'​-("​     echo ":'​-("​
Ligne 745: Ligne 745:
 <code bash> <code bash>
 $ ./​favoritefood $ ./​favoritefood
-Vous aimez la choucroute ​!+Vous aimez les moules frites ​!
 $ env LANG=en ./​favoritefood $ env LANG=en ./​favoritefood
-You love the... ​raclette!+You love the... ​pudding ​!
 $ env LANG=es ./​favoritefood $ env LANG=es ./​favoritefood
-Te gusta el pata negra!+Te gusta el jamón ​!
 $ env LANG=it ./​favoritefood $ env LANG=it ./​favoritefood
 :'-( :'-(
Ligne 826: Ligne 826:
  
 <code bash> <code bash>
-echo -e '​\033[1;​30;​47m ​titi \033[0;32m est sur \033[1;33m un bateau \033[0m'​+echo -e '​\033[1;​30;​47m ​toto \033[0;32m est sur \033[1;33m un bateau \033[0m'​
 </​code>​ </​code>​
  
Ligne 877: Ligne 877:
 Exemple : Exemple :
 supposons que vous ayez une base de données, avec 3 catégories d'​enregistrements possibles : supposons que vous ayez une base de données, avec 3 catégories d'​enregistrements possibles :
-canard ​bleu, canard ​blanc, ​canard ​rose ayant chacun 30 individus.+éléphant ​bleu, éléphant ​blanc, ​éléphant ​rose ayant chacun 30 individus.
 Votre script doit compter le nombre d'​éléphants bleus et blancs. Votre script doit compter le nombre d'​éléphants bleus et blancs.
 Deux possibilités s'​offrent à vous : Deux possibilités s'​offrent à vous :
-  * calculer le nombre ​de canard verts canard violets+  * calculer le nombre ​d'​éléphants bleus éléphants blancs
 ou ou
-  * calculer le nombre total de canard ​- nombre ​de canard ​roses+  * calculer le nombre total d'​éléphants ​- nombre ​d'​éléphants ​roses
  
 Quel algorithme choisissez-vous ? Quel algorithme choisissez-vous ?
  
-Résultat : le premier car dans le deuxième il faut d'​abord calculer le nombre total de canard.+Résultat : le premier car dans le deuxième il faut d'​abord calculer le nombre total d'​éléphants,​ donc un calcul en plus :-P .
  
 ===== Liens ===== ===== Liens =====
  • tutoriel/script_shell.1707744057.txt.gz
  • Dernière modification: Le 12/02/2024, 14:20
  • par 81.247.240.195