Csh marche mal avec Mandriva

Résolu
65BéVé Messages postés 9 Statut Membre -  
65BéVé Messages postés 9 Statut Membre -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  2. gbe54
     
    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
  3. 65BéVé Messages postés 9 Statut Membre
     
    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
  4. 65BéVé Messages postés 9 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 65BéVé Messages postés 9 Statut Membre
     
    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
  7. 65BéVé Messages postés 9 Statut Membre
     
    Merci gbe54 et à bientôt pour d'autres questions,
    0