Problème avec script csh

Bonjour à tous,

J’aimerais solliciter votre aide pour un petit script que je prépare. Celui-ci est sensé convertir toutes les archives zip présentes dans le répertoire courant en gzip :

[code]#!/bin/csh -f

set archives_zip
set prefixe
set archives_rar
set archives_z

########################

Traitement des archives zip

########################
foreach archives_zip ( ls *.zip )
unzip $archives_zip
rm $archives_zip
@ prefixe = $archives_zip:r
gzip -f $prefixe
end[/code]

Le problème, c’est qu’il s’arrête après avoir supprimé une seule archive, il n’en traite qu’une car il bloque au moment de changer la variable prefixe et me donne un message d’erreur incompréhensible pour moi qui suis débutant :

Avez-vous une idée de ce qui cloche ? Une solution compréhensible à ce problème ?

Merci à vous !!! :smt003

Edit : J’ai résolu le prob et amélioré le script, il fonctionne parfaitement maintenant, quelques détails à régler.

Tiens du cshell ?
Tu pourrais dire ce qui clochait et comment tu l’a résolu pour d’éventuel personne dans le même cas ?

Salut MisterFreeze

[quote]Tiens du cshell ?
Tu pourrais dire ce qui clochait et comment tu l’a résolu pour d’éventuel personne dans le même cas ?[/quote]

Oups ouais, ça serait pas mal :mrgreen:

Bon déjà, pour le choix du cshell ça peut paraître bizarre, mais il y a une raison toute simple : c’est celui que j’apprends en cours :smt002

Mon script contenait beaucoup d’erreurs, par exemple il ne traitait pas les archives avec plusieurs fichiers, et ne fonctionnait pas si l’un des fichiers de l’archive ne se nommait pas comme cette dernière… Le vrai bordel quoi.

Mais pour l’erreur :

@: Expression Syntax.

L’explication est simple, @ ne sert que pour les calculs numériques, pour les chaînes de caractères il faut utiliser set.

Je posterais sur ce forum le script quand il sera vraiment sûr et qu’il aura toutes les fonctionnalités que je compte lui mettre :smt002