Script

Fermé
hey - 28 mai 2009 à 17:00
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 28 mai 2009 à 17:53
Bonjour,

je dois faire un script qui traduit la phrase: si un fichier existe dans DIR1 et pas dans DIR2 alors on le recopie

j'ai fait sa:

#! /bin/bash

DIR1=SOURCE
DIR2=DESTINATION


for FICH in $(ls $SOURCE)
do
echo "On va regarder si $FICH existe dans $DESTINATION "

if -f -e ($SOURCE) && ! ($DESTINATION)
then cp -r $FICH
echo "Le fichier $FICH a ete recopie!"
fi
done


quand je lance le script il me met des erreurs jcomprends pas trop..
merci
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
28 mai 2009 à 17:53
Salut,

Apparemment c'est le "if" qui pose problème (il faudrait que tu re-postes ton script en insérant un espace entre les 2 crochets ouvrants de ton test :
if [[ -f -e ($SOURCE) && ! ($DESTINATION) ]]
Elle ressemble à ça ta syntaxe ?

A aucun moment il n'est fait référence à la variable contenant ton fichier "$FICH" d'où l'erreur je pense ;-\
0