Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1446 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Script shell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script shell

n°1076561
jon301
Posté le 09-05-2005 à 16:15:40  profilanswer
 

Bonjour à tous
 
J'ai crée un script shell qui prend un paramètre : 0 ou 1
Si on passe 0 alors le script effectue un traitement
Si on lui passe 1, le script en effectue un autre
 
Ce que je voudrai c'est que l'utilisateur doit passer par l'étape 0 avant l'étape 1
c'est a dire que s'il lance le script pour la 1ere fois en passant 1 en paramètre, le script envoit un message d'erreur "tu dois passer par l'étape 0"
 
Grossomodo c ce que mon script doit faire.. vs auriez pas une ptite solution ?
 
Merci a ceux qui prendront le tmps de me répondre ;)
 
 
Jon

mood
Publicité
Posté le 09-05-2005 à 16:15:40  profilanswer
 

n°1077125
matafan
Posté le 09-05-2005 à 23:31:39  profilanswer
 

La seule solution, c'est de sauvegarder d'une maniere ou d'une autre une information d'etat sur le disque dur (dans un fichier, quoi). Difficile d'en dire plus si tu ne donnes pas plus d'info.

n°1078159
jon301
Posté le 10-05-2005 à 17:12:47  profilanswer
 

Argh il y aurai pas une autre solution ?
 
Bon jvais essayer de détaillé un peu +
Mon script prend en paramètre un fichier contenant 2 infos :
- Une liste de fichiers
- Un flag prenant 0 ou 1
 
L'objectif du script est :
- d'analyser ces fichiers  (recherche de bug dans les fichiers, pas la peine d'expliquer comment)
- générer un rapport de l'analyse (listing des bugs rencontrés)
- générer un package de ces fichiers
 
Si le flag est égal à 0, alors le script n'effectue que l'analyse
Si le flag est egale à 1, le script effectue analyse + génération du package
 
Normalement le processus est le suivant :
1) L'utilisateur fait une premiere analyse de ses fichiers (flag=0)
 
En fonction du rapport obtenu, il fait ses ptites modifications dns ses fichiers
 
2) rénanalyse de ces fichiers + générer le package (flag=1)
(les bugs de la 2e analyse doivent logiquement être inférieure a la 1ere analyse)
 
 
Je voudrai que l'utilisateur passe obligatoirement par l'étape 1 (l'analyse seule) pour des raisons de rigueur...
Comment savoir qu'il a déjà bien effectué le traitement avec flag=0 ?
 
 
Merci d'avance pour vos réponses !


Message édité par jon301 le 10-05-2005 à 17:14:52
n°1078194
Elmoricq
Modérateur
Posté le 10-05-2005 à 17:37:21  profilanswer
 

Si tu es certain que tu ne quitteras pas le shell courant, tu peux stocker l'information dans une variable d'environnement.
 
Autrement => fichier.

n°1079183
jon301
Posté le 11-05-2005 à 11:59:58  profilanswer
 

Je pense que je vais essayer la solution de la variable d'environnement
car pour le fichier, l'utilisateur peut très bien le trafiquer et pouvoir faire en sorte de passer directement à la génération du package...
le passage par l'analyse m'est obligatoire :(
 
sinon pour la var d'environnement je fais un export dans mon script  
mais lorsqu'il se termine la variable n'existe plu...
jsuis pas très doué sous UNIX en fait :/
comment faire pour que la variable reste ?
 
merci d'avance !

n°1079596
matafan
Posté le 11-05-2005 à 15:24:35  profilanswer
 

Le coup de la variable d'environnement ne peut pas marcher, puisque qu'il est impossible pour un process de modifier l'environnement de son pere. A par si tu execute ton script avec ". /chemin/de/ton/script", qui a pour effet de faire interpreter ton script par le shell courrant au lieu de forker un nouveau shell.

n°1080637
jon301
Posté le 12-05-2005 à 11:23:35  profilanswer
 

Ok merci de ta réponse
Finalement je sauvegarde l'état dans un fichier, en supposant que l'utilisateur est de bonne foi...
 
Merci à tous ^^

n°1080657
kruso
Posté le 12-05-2005 à 11:40:20  profilanswer
 

Si l'utilisateur n'a pas acces en lecture au script, ce que tu peux faire c'est :
apres l'analyse du fichier, tu cree un fichier (s'il existe deja, tu le supprime et t'en cree un autre) et dedans tu y mets une clé
en fonction de la date de création (clé générée par un algorithme inventé par tes soins). Quand le script essaye de passer à l'etape suivant, il verifie que la clé correspond, sinon il balance le message d'erreur. Si la clé est assez grosse ça devrait empecher l'utilisateur de pouvoir faciliement la retrouver.  
 
 Ce serait mieux de faire quelque chose avec la date de modification, mais je ne sais pas si ce serait facile : il faudrait peut-être prendre en compte le décalage du au calcule de la clé.
 
  Enfin bon ce n'est qu'une idee :p


Message édité par kruso le 12-05-2005 à 11:54:01
n°1080671
kruso
Posté le 12-05-2005 à 11:55:03  profilanswer
 

oui, j'ai édité mon message parce que  j'y avais pas pensé :p

n°1080672
Elmoricq
Modérateur
Posté le 12-05-2005 à 11:55:45  profilanswer
 

kruso a écrit :

oui, j'ai édité mon message parce que  j'y avais pas pensé :p


 
Et j'avais effacé ma remarque, parce que tu avais édité. Mais pas assez vite on dirait. :D

mood
Publicité
Posté le 12-05-2005 à 11:55:45  profilanswer
 

n°1080816
matafan
Posté le 12-05-2005 à 14:20:38  profilanswer
 

kruso a écrit :

Si l'utilisateur n'a pas acces en lecture au script


alors il ne peut pas exécuter le script.


Message édité par matafan le 12-05-2005 à 14:21:25
n°1080826
kruso
Posté le 12-05-2005 à 14:29:49  profilanswer
 

ah bon ? je ne savais pas.
Désolé de mon intervention alors.
 
Edit : si c'était du C ... ;) (enfin j'ai pensé qu'il faudrait aussi supprimer un eventuel fichier invalide)


Message édité par kruso le 12-05-2005 à 14:33:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Script shell

 

Sujets relatifs
Shell script : redirection synchrone vers un fichier ?Script Shell (simple?) sftp
shell script qui lit dans un fichierlancer un script shell sur un serveur distant a partir d'un batch
[SHELL] script en shell (clos)Executer un script shell sur un serveur unix distant a partir de winNT
script shell pour concatener un ensemble de fichier.Shell tcsh, script pour tests... Pour les pros de tcsh
Script shell / e-mailShell, PWD et execution d'un script Shell utilisant un fichier de conf
Plus de sujets relatifs à : Script shell


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)