Csh marche mal avec Mandriva

Résolu/Fermé
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009 - 28 oct. 2007 à 21:28
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009 - 15 nov. 2007 à 21:49
Bonjour,
Je veux utiliser le c-shell (scripts csh) sur mon PC avec Mandriva2007
Je teste ce petit script de rien du tout :

#!/usr/bin/csh
set prod=0
echo "argument1" $1
echo "argument2" $2
@ prod = $1 * $2
echo $prod

ERREUR ; : line 10: @: command not found

Y a t il incohérence dans la gestion des variables ?

6 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
28 oct. 2007 à 22:41
Salut,

Il semblerait que le shell "csh" (en fait tcsh) soit un peu capricieux sous Mandriva ;-((
J'ai recopié ton script sous mon $USER, rendu le script exécutable, et voilà la réponse :
then: then/endif not found.
Le même script lancé sous un autre $USER est exécuté sans problème.

Lance-le en mode débogage :
/usr/bin/csh -xv ton_script param_1 param_2
Peut être auras-tu quelques indications ;-))
0
Bonjour,

Sur ma mandriva 2007 ca marche sans problème... sauf que csh se trouve dans /bin et non dans /usr/bin
./test.csh 2 2
argument1 2
argument2 2
4

Cdt,
0
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009
30 oct. 2007 à 20:40
Bonsoir
et merci pour vos réponses.
Sous Mandriva2006, ça fonctionnait bien.
il me manque peut-être une library.
Par exemple, la commande set prod=0 ne marche pas alors que la commande
prod=0 fonctionne.....
je continue à chercher.
0
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009
2 nov. 2007 à 12:31
Bonjour Jipicy,
Quand je lance le shell suivant avec l'option -xv et les arguments 2 et 3
#!/usr/bin/csh
prod=0
echo "argument1" $1
echo "argument2" $2
@ prod = $1 * $2
echo $prod

J'obtiens le bon résultat avec les lignes interprétées.
prod=0
prod=0
prod=0: Command not found.
echo "argument1" $1
echo argument1 2
argument1 2
echo "argument2" $2
echo argument2 3
argument2 3
@ prod = $1 * $2
@ prod = 2 * 3
echo $prod
echo 6
6
le résultat $prod = 6 !!

Quand je lance le shell sans les options -xv j'ai :
argument1 2
argument2 3
/home/SCRIPTS/shut.csh: line 5: @: command not found
0

A ce moment, la commande me retourne $prod= 0 à cause de l'erreur.

Etonnant, non ?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009
2 nov. 2007 à 12:50
Bon, et bien, il semble que j'ai trouvé :
[Homea@localhost ~/SCRIPTS]$ csh shut.csh 2 3
argument1 2
argument2 3
6


Je commençais la ligne de commande par le nom du script au lieu de csh+nom du script.




0
65BéVé Messages postés 9 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 26 avril 2009
15 nov. 2007 à 21:49
Merci gbe54 et à bientôt pour d'autres questions,
0