Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2006, 18h50   #1
Futur Membre du Club
 
Inscription : juillet 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 55
Points : 17
Points : 17
Par défaut Erreur à l'exécution d'un script

Bonjour

J'ai un script qui prend tous les fichiers d'un répertoire en fonction de leur nom.
La 1ère partie du nom du fichier (avant le 1er point) constitue une sorte "d'identifiant de mon fichier".
Je souhaite écrire dans un fichier de log des infos sur mes fichiers avec une rupture pour chaque "identifant de fichier".
Mais j'ai un message d'erreur à l'exécution :
Code :
1
2
 
/usr/cft/script/waccise.sh[24]: SPIRELLA != TVWPROD:  not found
Voici mon script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/ksh
 
# suppression du fichier de log
rm /usr/cft/steph/waccise.log
 
idfold=""
 
# boucle sur tous les IDF dans le rép. de backup
for nom in *ADSATL* *APE01* *BJFLEX* 
  do
    case $nom in
      *.codi* | *.CODI*)
        rm fic.tmp
        echo $nom >> fic.tmp
        idf=`cut -d. -f1 fic.tmp`
        echo "IDF : "
        echo $idf
        echo "IDFOLD : "
        echo $idfold
        if "$idfold != $idf"; then
          echo $idf >> /usr/cft/steph/waccise.log
          echo "--------------------" >> /usr/cft/steph/waccise.log
        fi
        # afficher les enregistrements de type G
        cat $nom | grep '^G' >> /usr/cft/steph/waccise.log
        idfold=$idf
    esac
  done
stepd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 10h08   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 553
Points : 7 553
Ton erreur vient de cette ligne :
Code :
        if "$idfold != $idf"; then
Les tests doivent être encadrés de crochets [ ], eux-mêmes encadrés d'espaces, et non de guillemets "", qui sont utilsés pour les chaînes de caractères.
Essaye avec ça, ça devrait mieux fonctionner :
Code :
        if [ $idfold != $idf ] ; then
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 10h10   #3
Futur Membre du Club
 
Inscription : juillet 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 55
Points : 17
Points : 17
ok, ça marche, merci beaucoup.
stepd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h47.


 
 
 
 
Partenaires

Hébergement Web