Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
 Sujet du message: Script BASH
MessagePosté: 06 Sep 2006 13:49 
Bonjour,

le script suivant ne fonctionne pas et me retourne l'érreur
bash: backup.sh : line 47 : "$@": n'est pas un argument valide.
Je souhaiterai que ce script télécharge les 3 fichiers fournis en arguments
en les rennomants avec la date du jour et qu'il supprime les occurences les plus anciènnes de ces 3 fichiers afin de n'en conserver que 6 occurences de chacuns des 3 fichiers.


Code:
1    #!/bin/bash -v -x
2
3   set -v
4   set -x
5   
6   cd $HOME
7
8
9   for "$@" in domestica webdemo app2intg # arguments passés à l'appel du script
10
11     do
12
13       wget http://192.168.1.7/CARRIBACKUPS/"$@"-today.tgz
14
15
16       RETVAL=$?
17
18
19       if [$RETVAL -ne 0]; then
20   
21       exit
22
23       fi
24
25
26       today=`date +%d-%m-%Y`
27
28       mv "$@"-today.tgz   /home/system/test/"$@"-${today}.tgz
29
30       nbtotal=`ls -lt /home/system/test/"$@"* | wc -l`
31
32
33       if [$nbtotal -gt 6]; then
34
35       nbtokeep=`ls -lt /home/system/test/"$@"* | head -n 6 | wc -l`
36
37       nbtodel=`expr $nbtotal - $nbtokeep`
38         
39
40                cd $HOME/test
41
42
43      ls  | tail -n $nbtodel | xargs rm -rf
44   
45      fi
46
47      done



Si qqun peut me donner une piste ou sait d'ou vient le problème.
Merci beaucoup de votre aide .


[edit par ashgenesis]Merci d'utiliser les balises codes :)[/edit]


Accepter cette reponse
Haut
  
 
 Sujet du message: re:Script BASH
MessagePosté: 06 Sep 2006 14:03 
Pourquoi tu prends $@ comme nom de variable?
Remplace par param.

Code:
#!/bin/bash
for param in "$@"
do
echo $param
done
root@debian:/tmp# chmod +x w
root@debian:/tmp# ./w a d e
a
d
e

$@ est un caractère reservé, c'est sémantiquement incorrect de le mettre après for


Accepter cette reponse
Haut
  
 
 Sujet du message: re:Script BASH
MessagePosté: 10 Sep 2006 08:28 
Hors ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 01 Fév 2006 18:11
Messages: 3928
BorisTheButcher a écrit:
$@ est un caractère reservé, c'est sémantiquement incorrect de le mettre après for

Et qui plus est, aprés for ici, tu affectes (par énumération de la liste) une valeur à la variable, qui, dans une affectation, ne peut être entre guillemets j'imagine ...


Accepter cette reponse
Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 

Index du forum » Divers » Programmation


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.119s | 12 Queries | GZIP : Off ]