j'ai écrit un script csh qui gère comment copier un fichier . lorsque j exécute ce scripte il me demande d'entrée le fichier source puis le fichier cible et puis lorsque je entre ces donné etttt la le problème ERREUR :illégal variable
voila le code source de min scripte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/csh 
echo " ------------------------------------------------------"; 
echo " le dossier dans le quel vous vous trouvez contient :"; 
echo " "; 
ls ; 
echo " "; 
echo -n "quel fichier voulez-vous copier ? : "; 
set src=$< ; 
if ( -f $src ) then 
echo -n "quel est le nom du fichier cible ? : "; 
set cbl=$< ; 
set nom_fichier_src=""; 
set nom_fichier_cbl=""; 
nom_fichier_src=$(readlink -f $src); 
nom_fichier_cbl=$(readlink -f $cbl); 
if ( $nom_fichier_src == $nom_fichier_cbl ) &>ff then 
echo "*********************************"; 
echo "ERREUR : même fichier à copier !"; 
else 
set chemin=""; 
set taille=$(echo $cbl | awk 'BEGIN{FS="/"} {print NF}'); 
if ( $taille == 1 ) then 
chemin=""; 
else 
chemin=$(echo $cbl | awk 'BEGIN{FS="/"} {print $1}'); 
set i=2; 
while ( i<taille ) 
set elem=$(echo $cbl | awk 'BEGIN{FS="/"} {print $('$i')}'); 
chemin=$chemin/$elem; 
@i=i+1; 
end 
chemin=$chemin/; 
endif 
set nom_fichier=$(echo $cbl | awk -F "/" '{printf $NF}' ); 
set extension_fichier=$(echo $nom_fichier | awk -F "." '{printf $NF}'); 
nom_fichier=$(echo $nom_fichier | cut -d"." -f1); 
if ( $extension_fichier == $nom_fichier ) then 
extension_fichier=""; 
endif 
if ( -e $chemin ) then 
if ( -f $cbl ) then 
set hh='date +"%H"'; # heure 
set mm='date +"%M"'; # minute 
set ss='date +"%S"'; # seconde 
set MM='date +"%b"'; # mois 
set JJ='date +"%a"'; 
set tiret_bas=_; 
if ( -z ${extension_fichier} ) then 
set nouv_nom=$(echo $chemin$nom_fichier$MM$JJ$tiret_bas$hh$mm$ss); 
else 
nouv_nom=$(echo $chemin$nom_fichier$MM$JJ$tiret_bas$hh$mm$ss.$extension_fichier); 
endif 
cp $src $nouv_nom ; 
else 
cp $src $cbl ; 
endif 
else 
echo "****************************"; 
echo "ERREUR :chemin innexistant !"; 
echo "****************************"; 
endif 
endif 
else 
echo "*********************************"; 
echo "ERREUR :ce fichier n'esiste pas !"; 
echo "*********************************"; 
endif 
rm ff;