Création d'une fonction en C-shell

Salut à tous!

Est-ce que quelqu'un pourrait m'aider en m'indiquant comment on crée une fonction en C-shell, comment on l'appelle et comment on doit passer les arguments et s'en servir ?

Merci par avance,
Mickaël

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Dans un fichier tout bête, tu tapes cela :
    function toto
    {
    echo $1
    echo $2
    }
    echo Début
    toto a b
    echo Fin

    Explication :

    On définit une fonction toto que l'on appelle plus loin avec deux valeurs qui seront récupérées dans $1 et $2, puis on affiche.

    C'est tout !

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    1. Merci de ta réponse! Malheureusement, j'ai essayé, et ça marche pas! :((

      Une autre idée ?
      ;)
      1. Modérateur
        Euh, voui...
        Mais c'est quoi qui ne marche pas ?

        A+ Blux
         "Les cons, ça ose tout.
        C'est même à ça qu'on les reconnait"
        1. Bonjour,

          tu es sur d'être en C-Shell?
          #!/bin/csh
          sur la première ligne de ton script

          et puis comme disait blux, quel est le msg d'erreur

          cdt
          1. Pour vous répondre, j'ai aussi essayé de définir une fonction comme indiqué plus haut :
            le message d'erreur est "function : command not found"
            Qui aurait la solution ?

            Merci d'avance.
            1. Modérateur
              Tu as regardé le message 4 ?
            2. Modérateur
              @bluxSalut,

              J'ai la nette impression que le C-shell (csh), n'intègre pas de mécanisme de "fonction" (voir cette comparaison de shells).

              C'est assez surprenant pour un shell apparenté (pour sa syntaxe) au langage C.

              ;-))
          2. Modérateur
            Par contre en regardant sur un bouquin j'ai vu que les alias en C-shell (contrairement au bash ou au korn shell) peuvent recevoir des arguments.

            Donc en adaptant l'exemple de "blux", ça donnerait :
            #!/bin/csh
            
            alias fonction 'echo \!*'
            
            echo Début
            fonction a b
            echo Fin
            
            ;-))
            1. Bonjour, je voudrais comparer deux éléments en JAVA mais pour cela je dois d'abord m'assurer qu'ils sont du même type. Le paramètre "args" reçu par la methode "main( )" est un tableau de String. Il faut donc que j'arrive à comparer cette "String" avec une autre "String".
              Dans la documentation Java.sun.com/1.3/docs/api, dans le chapitre de la classe "Object" du paquetage "java.lang" je ne trouve pas la methode permettant de comparer deux "String" entre elles, si quelqu'un pourrait m'aider sa serait sympa

              Merci