Unix Exercices

Fermé
Utilisateur anonyme - 13 mars 2013 à 17:24
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 13 mars 2013 à 17:26
Bonjour,
Est ce que quelqu'un peut repondre a ces exercices:

Exercice 1 : Contrôleur
1. Ecrivez un script nommé "generateur.sh", qui contient une boucle infinie qui affiche une valeur aléatoire, attend 2 seconde, et recommence.
2. Ecrivez à présent un script nommé "controleur.sh" qui prend un seul argument parmi start, stop, ou status et dont le comportement est le suivant :
* start : lance "generateur" en tâche de fond en redirigeant sa sortie standard vers un fichier nommé "donnees.txt".
* stop : termine à l'aide de kill le script "generateur.sh" à partir de son PID.
* status : affiche :
- "le script tourne" si "generateur" est en cours d'exécution
- "le script ne tourne pas" si "generateur" n'est pas en cours d'exécution
Votre script "controleur.sh" devra dans un premier temps vérifier si l'argument qui lui est passé sur la ligne de commande est bien start, stop ou status, et afficher le message suivant si ce n'est pas le cas :
usage : controleur action
action =
- start : demarre le générateur
- stop : arrete le générateur
- status : affiche l'état du générateur
Vous suivrez l'exécution de votre "generateur.sh" en affichant en continu le contenu du fichier "donnees.txt".
Indication :
* les scripts controlleur et generateur doivent être dans le même dossier
* sleep nbr_seconde mit en veuille le processus pendant nbr_seconde
* la variable $RANDOM :
o génère une valeur aléatoire entre 0 - 32767
o $((RANDOM%max+min)) généré une valeur entre max et min
* Redirections
o > Redirection de la sortie standard (STDOUT)
o >> idem, en « append »
o Exemple : ls > resultat_ls.txt
* pidof -x nom_processeur permet de déterminer le PID d'un processeur
* ps : affiche tous les processeurs actifs
* kill -9 pid_processeur : arrête le processeur dans le PID est pid_processeur
* ${#a} la taille d'une variable a (le nombre de caractère)
* & lancement en tâche de fond : exemple
o Cmd : exectution de la commande en premier plan
o cmd& :exectution de la commande en arrière plan

Exercice 2 (Séparateur 1):

Ecrivez un script nommé splitter_spc.sh dans lequel vous injecterez le contenu du fichier donnees_spc.txt, il devra afficher le résultat suivant :

fruit : abricot
plante : aulne
pays : australie
prenomf : audrey
prenomm : alain
-----------------------------
fruit : banane
plante : bambou
pays : birmanie
prenomf : brigitte
prenomm : bruno
-----------------------------
fruit : cerise
plante : chene
pays : canada
prenomf : celine
prenomm : cedric
-----------------------------
fruit : datte
plante : digitale
pays : danemark
prenomf : delphine
prenomm : didier
-----------------------------

Exercice 03 (Séparateur 2):

Ecrivez un script similaire nommé splitter.sh qui effectue le même type de traitement sur le fichier donnees.txt. Vous aurez besoin de redéfinir la variable IFS.
Attention : vous récupérerez les noms des champs à partir de la première ligne du fichier (que vous ne considérerez pas comme une ligne de données bien évidemment).

Code : ALFKI
Societe : Alfred's Futterkiste
C.A : 77.8050525
C.A.prevu : 103.85014
Variation : 1.33474803
Contact : Maria Anders
Fonction : Representante
Adresse : Obere Str.57
Ville: Berlin
-----------------------------
Code : ANATL
Societe : L'anatra laccata
C.A : 771.700421
C.A.prevu : 834.332148
Variation : 1.08116068
Contact : Anna Grandi
Fonction : Proprietaire
Adresse : Via Gramsci 209
Ville: Verona
-----------------------------
Code : ANTOB
Societe : Antonio Berbi Salumi
C.A : 290.31742
C.A.prevu : 411.875041
Variation : 1.41870592
Contact : Antonio Berbi
Fonction : Proprietaire
Adresse : V
Ville:
-----------------------------
Code : AROUT
Societe : Around the Horn
C.A : 322.144627
C.A.prevu : 642.261176
Variation : 1.99370445
Contact : Thomas Hardy
Fonction : Representant
Adresse : Brook Farm Stratford St. Marc
Ville: Colchester
-----------------------------

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 422
13 mars 2013 à 17:26
3