Erreur dans l'execution d'un script sous cron

Fermé
carhod - 31 janv. 2008 à 12:34
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 31 janv. 2008 à 15:05
Bonjour

J’ai un souci avec un script renamefile.sh

Voici ce qu’il contient :

##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 :

/export/home2/home/PHONE/FAX/EXTRAIT/renamefile.sh: syntax error at line 4: `$' unexpected

Je l’ai modifié en mettant

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
A voir également:

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
31 janv. 2008 à 15:05
Signale dés le début que c'est du bash en utilisant le "sha-bang":
#!/bin/bash
0