Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| scriptlinux [2022/10/17 13:06] – [Exemple 2 : Script avec fichier de réponse] admin | scriptlinux [2022/10/17 16:09] (Version actuelle) – [Illustration] admin | ||
|---|---|---|---|
| Ligne 34: | Ligne 34: | ||
| * **echo –e** : //echo// réalise un affichage écran, -e permet d' | * **echo –e** : //echo// réalise un affichage écran, -e permet d' | ||
| * **done** : fin de la boucle | * **done** : fin de la boucle | ||
| - | | + | |
| - | * **[</ | + | * **[</ |
| + | |||
| + | ==== Rendre un script exécutable ==== | ||
| + | Un script est un fichier avec l' | ||
| + | <code bash> | ||
| + | |||
| + | On pourra alors l' | ||
| + | <code bash> | ||
| + | |||
| + | ===== 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 | ||
| + | </ | ||
| Ligne 96: | Ligne 112: | ||
| <code bash>#! /bin/bash | <code bash>#! /bin/bash | ||
| #! /bin/sh | #! /bin/sh | ||
| - | # Boucle qui lis le fichier " | + | # Boucle qui lit le fichier " |
| while IFS=, read legroupe | while IFS=, read legroupe | ||
| do | do | ||
| Ligne 129: | Ligne 145: | ||
| Is the information correct? [Y/n] Y</ | Is the information correct? [Y/n] Y</ | ||
| - | <WRAP center round important | + | <WRAP center round important |
| On doit indiquer le mot de passe (2 fois), les 5 informations de l' | On doit indiquer le mot de passe (2 fois), les 5 informations de l' | ||
| </ | </ | ||
| - | Un script demandera donc d' | + | <wrap em>Un script demandera donc d' |
| - | Une astuce est de stocker les informations nécessaires dans le fichier CSV, puis, dans le script, de créer un <wrap em> | + | <WRAP center round tip 90%> |
| + | Une astuce est : | ||
| + | * de <wrap em>stocker les informations</ | ||
| + | * dans le <wrap em>script</ | ||
| + | * de demander l'<wrap em> | ||
| + | * de <wrap em> | ||
| + | </ | ||
| + | |||
| ==== Illustration ==== | ==== Illustration ==== | ||
| Ligne 141: | Ligne 164: | ||
| #! /bin/sh | #! /bin/sh | ||
| echo on | echo on | ||
| - | # Boucle qui lis le fichier " | + | # Boucle qui lit le fichier " |
| 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 (>>) | ||
| - | | + | echo $lepass > reponses.txt |
| echo $lepass >> reponses..txt | echo $lepass >> reponses..txt | ||
| - | #infos du compte | + | #infos du compte |
| echo >> reponses.txt | echo >> reponses.txt | ||
| echo >> reponses.txt | echo >> reponses.txt | ||
| Ligne 156: | Ligne 179: | ||
| #validation | #validation | ||
| echo " | echo " | ||
| - | #execution de la commande d' | + | #execution de la commande d' |
| - | adduser $lecompte --ingroup $legroupe <reponse | + | adduser $lecompte --ingroup $legroupe <reponses.txt |
| echo $lecompte "est ajoute" | echo $lecompte "est ajoute" | ||
| # | # | ||
| rm reponses.txt | rm reponses.txt | ||
| done < donneesutils.csv</ | done < donneesutils.csv</ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Ici on a intégré le compte directement dans un groupe <wrap em> | ||
| + | </ | ||
| + | |||