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:04] – [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>
  
-On doit indiquer le mot de passe (2 fois), les 5 informations de l'utilisateur et valider par Y. +<WRAP center round important 60%> 
 +On doit indiquer le mot de passe (2 fois), les 5 informations de l'utilisateur et valider par Y. 
 +</WRAP> 
 +  
 +<wrap em>Un script demandera donc d'interagir pour fournir ces éléments.</wrap> 
  
-Un script demandera donc d'interagir pour fournir ces éléments.  +<WRAP center round tip 90%> 
- +Une astuce est 
-Une astuce est de stocker les réponses dans le fichier CSV, puis, dans le script, de créer un fichier de réponse temporaire avec les données issues du CSV et de demander l'éxxécution de la commande interactive en se fournissant dans le fichier de réponse. +  * 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 139: 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
   #cree un fichier de reponse   #cree un fichier de reponse
   #mot de passe. La premiere ligne cree le fichier responses.txt (>), les autres ajoutent a son contenu (>>)   #mot de passe. La premiere ligne cree le fichier responses.txt (>), les autres ajoutent a son contenu (>>)
- nucho $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 154: 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
   rm reponses.txt   rm reponses.txt
 done < donneesutils.csv</code> done < donneesutils.csv</code>
 +
 +<WRAP center round important 60%>
 +Ici on a intégré le compte directement dans un groupe <wrap em>(--ingroup)</wrap> pour éviter la création d'un groupe au nom de l'utilsiateur
 +</WRAP>
 +
  
  
  
  
scriptlinux.1666011864.txt.gz · Dernière modification : 2022/10/17 13:04 de admin