[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Erreur "cp: opérande du fichier cible manquant" dans script shell [debutant]



Bonjour

Voila je fais mes premiers pas dans le script shell.
Pour m'entrainer j'ai fait un script qui est sense copier des fichiers vers d'autres emplacements en leur gardant les memes proprietaires et droits, ainsi que creer une copie de sauvegarde du fichier cible.

Si ce n'ai que pour moi c'est une nouvelle syntaxe, il n'y a pas de grande difficulte.
Neanmoins, j'ai l'erreur suivante a chaque "cp" executes:

cp: opérande du fichier cible manquant apres `/home/..../password_forgotten.php'
Pour en savoir davantage, faites: " cp --help ".

J'ai biensur cherche dans le man et sur mon ami google, mais j'ai rien trouve qui resolve mon probleme.
Si je passe le "cp" manuellement en ligne de commande, cela fonctionne O_o

Voici le script:

#!/bin/bash
# Copy alpha version language file to beta and production
# only 1 argument: alpha version language file must be copy
# TUTO: http://doc.ubuntu-fr.org/tutoriel/script_shell

echo "Treatment..."

BASE_FOLDER=/home/user/public_html/
LANG_FOLDER=/includes/languages/
DEV_VER=("alpha" "beta" "production")
LANGUE=("english" "espanol" "french" "italian")
SITE=("www" "www2")
i=0
cpt=1

while [ -d $BASE_FOLDER${DEV_VER[0]}/${SITE[i]} ] && [ $i -lt ${#SITE[*]} ]
do 
#echo "test 1 ok - "$i" - "${DEV_VER[0]}/${SITE[i]}
j=0
while [ -f $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1 ] && [ $j -lt ${#LANGUE[*]} ]
do
#echo "test 2 ok - "$j" - "${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1
k=1
while [ -d $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]} ] && [ $k -lt ${#DEV_VER[*]} ]
do
#echo "test 3 ok - "$k" - "${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
#echo $cpt" - cp -b -p --suffix=.bak $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1 $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}"
echo "copy from "${DEV_VER[0]}/${SITE[i]}"..."${LANGUE[j]}/$1" to "${DEV_VER[k]}/${SITE[i]}...${LANGUE[j]}
cp -b -p --suffix=.bak $BASE_FOLDER${DEV_VER[0]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}/$1 $BASE_FOLDER${DEV_VER[k]}/${SITE[i]}$LANG_FOLDER${LANGUE[j]}
k=$(($k+1))
cpt=$(($cpt+1))
done
j=$(($j+1))
done
i=$(($i+1))
done

exit 0


Cordialement
Hugues




Reply to: