0% ont trouvé ce document utile (0 vote)
3 vues2 pages

TP Shell

Le document présente une introduction aux scripts Shell, expliquant leur utilisation pour automatiser diverses tâches. Il fournit des instructions pour créer un script, ainsi que des exercices pratiques pour manipuler des fichiers, gérer des utilisateurs et créer un menu interactif. Les utilisateurs apprennent à vérifier l'existence de fichiers et répertoires, à manipuler des chaînes et à exécuter des commandes spécifiques.

Transféré par

lemmy12347
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues2 pages

TP Shell

Le document présente une introduction aux scripts Shell, expliquant leur utilisation pour automatiser diverses tâches. Il fournit des instructions pour créer un script, ainsi que des exercices pratiques pour manipuler des fichiers, gérer des utilisateurs et créer un menu interactif. Les utilisateurs apprennent à vérifier l'existence de fichiers et répertoires, à manipuler des chaînes et à exécuter des commandes spécifiques.

Transféré par

lemmy12347
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP - Scripts Shell

Introduction
Un script Shell est un ensemble de commandes rassemblées dans un fichier. L’usage veut que
l’extension soit .sh mais elle n’est pas nécessaire.

Les scripts Shell sont utilisés pour automatiser des manipulations de fichiers, pour le déploiement de
logiciels, la supervision et notamment l’exploitation de logs, le lancement de tâches planifiées, la
gestion de VM, les sauvegardes…
Afin de créer votre premier script suivez cette procédure :
1. Ouvrez un éditeur de texte nano par exemple.
2. Ecrivez vos lignes de commandes.
3. Enregistrez votre fichier texte avec l’extension .sh et changez les droits de manière à le rendre
exécutable (chmod +x [Link]).

Premiers pas
Commentez ligne par ligne le fichier suivant puis indiquez :
- sa syntaxe lors de l’appel (comment l’utiliseriez-vous ?)
- ce qu’il fait réellement

A votre tour…
1) Créez un fichier [Link] qui indique si un fichier fich est bien présent dans un répertoire rep et
affiche les 10 premières lignes du fichier. (syntaxe : [Link] rep fich)
- vérifie que l’utilisateur a bien entré 2 paramètres, sinon affiche la syntaxe à suivre
- stocke chacun des paramètres dans une variable
- si le répertoire existe, affiche qu’il a été trouvé puis se déplace dans ce répertoire
- si le fichier existe, affiche qu’il a été trouvé et affiche les 10 premières lignes
- sinon affiche que le répertoire ou le fichier n’existe pas.

1
2) Créer la fonction tempo qui prend l’option /d pour afficher la date ou /t pour l’heure. Vous
rappellerez la syntaxe en cas de mauvaise utilisation.
3) Ecrivez un script qui, à partir du fichier [Link], crée les comptes des étudiants de la classe sur
votre machine. Vous étudierez les différentes commandes de manipulation de chaînes et
vérifierez le résultat en observant les fichiers /etc/passwd et /etc/group.
Pour parcourir un fichier ligne par ligne, utilisez le code suivant :

Pour remplacer les espaces par des underscores (_), utilisez la commande sed

Pour convertir des majuscules en minuscules, utilisez la commande trad ‘[A-Z]’ ‘[a-z]’

4) Ecrivez maintenant un programme de commandes qui gère le menu suivant :

1- Tester la connexion d’un utilisateur


2- Archivage de fichiers
3- Nettoyage de répertoires
S- Fin

Entrez votre choix :…

- Pour sortir du menu, l’utilisateur pourra taper S ou s


- On doit revenir à ce menu tant que l’utilisateur n’a pas choisi « Fin »
- Pour tester la connexion, utiliser le script fourni ci-dessous.
- Pour l’archivage de fichiers, on demandera à l’utilisateur les différents fichiers qui doivent être sauvegardés. Ceux-
ci seront déplacés dans un répertoire ARCHIVAGE
- Pour le nettoyage de répertoires, on demandera à l’utilisateur les différents répertoires qui doivent être vidés de
leurs fichiers. On conservera la liste de ces fichiers dans un fichier HISTORIQUE.

# !/bin/sh
clear
echo "Entrez les 6 premieres lettres du nom d’un utilisateur"
read NOM
if grep $NOM /etc/passwd
then
echo "$NOM est declare sur le systeme"
who>sortie
if grep $NOM sortie
then
echo "$NOM est connecte en ce moment"
else
echo "$NOM n’est pas connecte"
fi
else
echo "$NOM n’est pas declare sur le systeme"
fi
Script de test de connexion

Vous aimerez peut-être aussi