Slaut,

Ça fait longtemps que j'ai envie d'écrie un scripte dans ce style mais je
bute sur différants problèmes.

Prenon par exemple un fichier qui viens de winbrol avec des espaces.
J'en ai pas sous la main soit.

touch le\ fichier\ qui\ vas\ m
si je fais :
 rm *
rm: détruire `le fichier qui vas m'? 

tout vas bien l'argument passe en entier.

mais si j'ai ceci dans mon .bashrc :
del ()
     {
       echo -n 'supression de :'$*
       mv $* $HOME/.corbeille/
     }



del *
supression de :le fichier qui vas mmv: Ne peut évaluer `le' par stat():
Aucun fichier ou répertoire de ce type mv: Ne peut évaluer `fichier' par
stat(): Aucun fichier ou répertoire de ce type mv: Ne peut évaluer `qui'
par stat(): Aucun fichier ou répertoire de ce type mv: Ne peut évaluer
`vas' par stat(): Aucun fichier ou répertoire de ce type mv: Ne peut
évaluer `m' par stat(): Aucun fichier ou répertoire de ce type

Tout de suite c'est moins marrant et ce que je ne comprand pas c'est $*
prend le non du fichier en entier echo est juste là pour le montrer.

Comment résoudre ce problème d'argument?

Merci pour tous les tête-en-l'air comme moi.:-)

Benoît

[...]
> Pour éviter ça aux tetes-en-l'air (dont moi), tu peus créer un
> répertoire 
> poubelle (par exemple "TRASH") et rajouter la fonction suivante dans ton
> ./bashrc (si tu utilises un cshell, faire un alias). 
> 
> rmv(){
>     mv -f "$@" ~/TRASH
> }
> 
> 
> Exemple:
> 
>         rmv fichier1 fichier2 repertoire1


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@;lists.unixtech.be
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à