Outils pour utilisateurs

Outils du site


scriptlinux

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édentesRévision précédente
Prochaine révision
Révision précédente
scriptlinux [2022/10/17 13:08] – [Illustration] adminscriptlinux [2022/10/17 16:09] (Version actuelle) – [Illustration] admin
Ligne 34: Ligne 34:
   * **echo –e** :  //echo// réalise un affichage écran, -e permet d'ajouter un retour à la ligne   * **echo –e** :  //echo// réalise un affichage écran, -e permet d'ajouter un retour à la ligne
   * **done** : fin de la boucle   * **done** : fin de la boucle
-  * ** <** : indique qu'on prend le contenu de ce qui suit +    * ** <** : indique qu'on prend le contenu de ce qui suit 
-  * **[</chemin>]<fichierAlire>** : fichier dont on exploite le contenu (avec chemin éventuel)+    * **[</chemin>]<fichierAlire>** : fichier dont on exploite le contenu (avec chemin éventuel) 
 + 
 +==== Rendre un script exécutable ==== 
 +Un script est un fichier avec l'extension .sh qui doit être exécutable. Pour cela, on doit lui ajouter la permission :  
 +<code bash>chmod +x <nomducript.sh></code> 
 + 
 +On pourra alors l'exécuter : 
 +<code bash>./<nomduscript.sh></code> 
 + 
 +===== Démarche de création ===== 
 +<WRAP center round box 60%> 
 +  - Identifier les actions à mener 
 +  - Pour chaque commande, repérer les données nécessaires 
 +  - Identifier les fichiers de données à constituer 
 +  - Créer le script 
 +  - Réaliser un test sur un jeu de données significatif 
 +</WRAP>
  
  
Ligne 96: Ligne 112:
 <code bash>#! /bin/bash <code bash>#! /bin/bash
 #! /bin/sh #! /bin/sh
-# Boucle qui lis le fichier "donneesgroupes.csv" et cree les groupes correspondant+# Boucle qui lit le fichier "donneesgroupes.csv" et cree les groupes correspondant
 while IFS=, read legroupe while IFS=, read legroupe
 do do
Ligne 129: Ligne 145:
 Is the information correct? [Y/n] Y</code> Is the information correct? [Y/n] Y</code>
  
-<WRAP center round important 90%>+<WRAP center round important 60%>
 On doit indiquer le mot de passe (2 fois), les 5 informations de l'utilisateur et valider par Y. On doit indiquer le mot de passe (2 fois), les 5 informations de l'utilisateur et valider par Y.
 </WRAP> </WRAP>
    
-Un script demandera donc d'interagir pour fournir ces éléments. +<wrap em>Un script demandera donc d'interagir pour fournir ces éléments.</wrap> 
  
-Une astuce est de stocker les informations nécessaires dans le fichier CSV, puis, dans le script, de créer un <wrap em>fichier de réponses temporaire</wrap> avec les données issues du CSV et de demander l'éxécution de la commande interactive en se fournissant dans le fichier de réponse. +<WRAP center round tip 90%> 
 +Une astuce est 
 +  * de <wrap em>stocker les informations</wrap> nécessaires dans le <wrap em>fichier CSV</wrap> 
 +  * dans le <wrap em>script</wrap>, de <wrap em>créer un fichier de réponses temporaire</wrap> avec les <wrap em>données issues du CSV</wrap>  
 +  * de demander l'<wrap em>exécution de la commande</wrap> interactive en <wrap em>se fournissant dans le fichier de réponses</wrap> ainsi généré 
 +  * de <wrap em>supprimer ce fichier temporaire</wrap> pour éviter de laisser des informations sensibles sur le disque 
 +</WRAP> 
 + 
  
 ==== Illustration ==== ==== Illustration ====
Ligne 141: Ligne 164:
 #! /bin/sh #! /bin/sh
 echo on echo on
-# Boucle qui lis le fichier "donneesutils.csv" et cree les utilisateurs  correspondant dans les bons groupes+# Boucle qui lit le fichier "donneesutils.csv" et cree les utilisateurs  correspondant dans les bons groupes
 while IFS=, read lecompte lepass legroupe while IFS=, read lecompte lepass legroupe
 do do
Ligne 148: Ligne 171:
   echo $lepass > reponses.txt     echo $lepass > reponses.txt  
   echo $lepass >> reponses..txt   echo $lepass >> reponses..txt
-  #infos du compte+  #infos du compte : ici données vides
   echo  >> reponses.txt   echo  >> reponses.txt
   echo  >> reponses.txt   echo  >> reponses.txt
Ligne 156: Ligne 179:
   #validation   #validation
   echo "Y" >> reponses.txt   echo "Y" >> reponses.txt
-  #execution de la commande d'ajout avec les donnees presentes dans le fichier reponse.txt +  #execution de la commande d'ajout avec les donnees presentes dans le fichier reponses.txt 
-  adduser $lecompte --ingroup $legroupe <reponse+  adduser $lecompte --ingroup $legroupe <reponses.txt
   echo $lecompte "est ajoute"   echo $lecompte "est ajoute"
   #suppression des reponses   #suppression des reponses
scriptlinux.1666012115.txt.gz · Dernière modification : 2022/10/17 13:08 de admin