Posté(e) le 20 octobre 200519 a Bonjour voila, je dois faire un script, le pb c'est que je suis newbie en script donc mon script ne marche pas. Voici ce qu'il doit faire en bon français: Il doit tester la presence de fichiers *.dat dans un repertoire. Si le repertoire est vide alors le script s'arrete. Si le repertoire est different de 0 alors le script continue. Voici mon script: #!/bin/sh var1=$(ls /opt/capitoul-2/exploitation/exploitation_SD/data/Parametrage3/fichier/fichiersplats/*.dat | wc -l) if ( var1=0 ) then echo fichiers plats non present echo arret du script else if ( var1!=0 ) then echo fichiers plats presents fi fi Voila je suis sur que c'est pas sorcier mais je trouve pas Merci de votre aide
Posté(e) le 20 octobre 200519 a http://www.pcinpact.com/forum/sujet_45608.htm http://www.pcinpact.com/forum/sujet_58078.htm voilà qui devrait t'aider à répondre à la question
Posté(e) le 20 octobre 200519 a Auteur C'etait pas la reponse que je voulais mais au moins elle m'a permis de chercher et de trouver J'ai modifie mon script de cette maniere: #!/bin/sh cd /opt/capitoul-2/exploitation/exploitation_SD/data/Parametrage3/fichier/fichiersplats/ if ( test -a *.dat ) then echo fichiers plats presents else echo fichiers plats non present fi Ca marche sur ma machine maintenant je vais aller me l'adapter a d'autres scripts. Merci
Posté(e) le 20 octobre 200519 a Auteur bah en fait ca marche pas des qu'il y a 2 fichiers *.dat Qd il y a un fichiers c bon mais des qu il y en a au moins 2 si qqun peut m aider merci Modifié le 20 octobre 200519 a par nvidia
Posté(e) le 20 octobre 200519 a évidemment... "man test" pour savoir comment ça marche avant de dire n'importe quoi... Mais à la base c'est vachement plus facile, puisque le shell retourne une erreur lorsqu'il ne trouve pas de fichiers... Donc... if ls *.dat then echo fichiers plats presents else echo fichiers plats non present fi (on peut même remplacer "ls" par "echo", ça marche quand même, puisque c'est le shell qui renvoie une erreur et non le programme....)
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.