WikiBtsSio

142sSi51tsioCTpScriptMe

L'objectif de ce T.P. est de mettre en pratique ce qui a été vu pendant le cours

.

0) Installez un environnement de travail vous permettant de tester vos codes bash.
En fin de séance vous devez rendre un compte rendu avec vos propositions de code source
(mettez également le résultat de l'exécution), il est à déposer sur la plateforme claroline.

1) Dans un premier temps vous allez revenir sur le code du dernier exercice vu en cours :
  • Ecrire un programme QuatreArgs qui vérifie que le nombre d'arguments passés lors de l’appel du programme est égal à quatre et écrit suivant le cas le message « Correct » ou le message « Erreur ».
Attention, le caractère « = » sert pour l'affectation.
Pour comparer une variable à un nombre il faut utiliser la syntaxe : [ $a -eq 2 ]
  • -eq pour equal

Solution de l'exercice 1
#!/bin/bash
if [ $# -eq 4 ]
	then echo 1

	else echo 2
fi

Pour rendre le fichier exécutable : chmod 777 NomDuFichier
Ajout des x :
rwx rwx rwx


Écrivez le code et testez-le avec plusieurs valeurs.

2) Réaliser une recherche sur les commandes permettant de lire un fichier texte.
Considérons le fichier texte suivant, de la forme (prénom, genre) :
arthur m
pierre m
dominique f
paule f
sylvie f
patrick m

Créez ce fichier.
Écrivez le code permettant de lire le fichier et d'afficher chaque ligne.


Aide pour l'exercice 2
IFS=";"
while read var1 var2
do
echo "Prenom = " $var1 " Nom = " $var2
done < fichier.txt


3) Avec le même fichier écrire un programme tripersonnes qui crée à partir de ce fichier,
un fichier garcons contenant uniquement les prénoms des garçons et
un fichier filles contenant les prénoms des filles.

4) Soit utilisateurs.txt, un fichier texte contenant sur plusieurs lignes le nom d'utilisateur et le mot de passe séparé par une virgule
toto,mot_passe_de_toto
admin,mot-de-passe-d'admin


Ecrire un programme qui crée les utilisateurs de ce fichier en leur donnant un répertoire utilisateur
et qui sont membres du groupe travail.

5) Ajouter une contrainte à votre script précédent, forcer l'utilisateur à modifier son mot de passe lors de sa premiere connexion.

6) On souhaite associer à chaque utilisateur une base de données sous Mysql avec des droits restreints.
Faites des propositions, est-ce réalisable ? Pourquoi ?


Complément :
Pour rendre un fichier exécutable, saisir : chmod 777 Nom-du-fichier