Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > 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

Réponse
 
Outils de la discussion
Vieux 31/01/2008, 12h32   #1 (permalink)
Invité de passage
 
Date d'inscription: septembre 2003
Messages: 8
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 :
##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 :
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

Dernière modification par julp ; 31/01/2008 à 13h15 Motif: lisibilité : ajout balises [code] (bouton # de l'éditeur)
Carhod est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/01/2008, 13h23   #2 (permalink)
Membre éprouvé
 
Avatar de jlliagre
 
Date d'inscription: juin 2007
Localisation: Paris
Messages: 411
Par défaut

Dans la première ligne du fichier, au lieu de "bash" qui te lance un sous-shell, met plutôt "#!/bin/bash".

Dernière modification par gangsoleil ; 05/02/2008 à 14h37 Motif: bash et ksh ne sont pas forcément compatibles
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 21h14.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations