Csh marche mal avec Mandriva

Résolu
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 ?
--

BV
Salutations distinguées.
Configuration: Linux Mandriva
Firefox 2.0.0.6

6 réponses

  1. Modérateur
    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 ;-))
    1. 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,
      1. 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.
        1. 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 ?

          1. 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.