Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
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 31/01/2008, 12h32   #1
Invité de passage
 
Inscription : septembre 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 9
Points : 1
Points : 1
Par défaut cron erreur dans l'exécution d'un script

Bonjour

J’ai un souci avec un script renamefile.sh

Voici ce qu’il contient :
Code :
1
2
3
4
5
6
7
##renommer les fichiers extraits avec la date du jour
set -x
cd /home5/PHONE/EXTRAIT

for i in $(ls 010*$(expr ```date +%Y%m%d` - 1` +%Y%m%d`));do mv $i ${i%_*}_$(date +'%Y%m%d');done

for i in $(ls 011*$(expr ```date +%Y%m%d` - 1` +%Y%m%d`));do mv $i ${i%_*}_$(date +'%Y%m%d');done
Ce script me renomme tous les fichiers commençant par 010 ou 011 de la veille avec la date du jour.

Lorsque je l’exécute directement sous le prompt (./renamefile.sh sous bash) il fonctionne correctement.

Mais quand je le mets dans le cron, j’ai le message d’erreur suivant :
Citation:
/export/home2/home/PHONE/FAX/EXTRAIT/renamefile.sh: syntax error at line 4: `$' unexpected
Je l’ai modifié en mettant
Code :
1
2
3
4
5
6
7
bash
set -x
cd /home5/PHONE/EXTRAIT

for i in $(ls 010*$(expr ```date +%Y%m%d` - 1` +%Y%m%d`));do mv $i ${i%_*}_$(date +'%Y%m%d');done

for i in $(ls 011*$(expr ```date +%Y%m%d` - 1` +%Y%m%d`));do mv $i ${i%_*}_$(date +'%Y%m%d');done
Mais quand je lance l’exécution il passe en bash et il attend que je valide pour continuer.

vous avez une idée de comment je peux faire ?

merci
Carhod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 13h23   #2
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 969
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 969
Points : 1 376
Points : 1 376
Dans la première ligne du fichier, au lieu de "bash" qui te lance un sous-shell, met plutôt "#!/bin/bash".
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h19.


 
 
 
 
Partenaires

Hébergement Web