IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Fonction linux shell


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Fonction linux shell
    Bonjour à tous,

    Je souhaite comparer 2 chaines de caractères dans un shell
    je fais
    ch1 = bonjour;
    ch2 = aurevoir;

    test[ "$ch1"="$ch2"] ;
    echo $?

    j'ai comme résultat 0 ce qui veut dire que les 2 chaines sont égales ce qui est absurde !!

    Pouvez vous m'aider pour cette question qui est pourtant simple .

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    hum...

    et avec ch1=bonjour ??

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si je reprends directement ce que tu as fait, ça plante bien. Pour avoir un script qui marche comme attendu, j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ch1=bonjour;
    ch2=aurevoir;
     
    test "$ch1" = "$ch2";
    echo $?
    Par raport à ton code, j'ai enlever les espaces avant et après le signe = pour les affectations (c'est très important, en shell, de ne pas mettre d'espace dans une affectation), j'ai enlevé les [ ] dans test (en mettre correspond à un appel à test) et j'ai mis des espaces avant et après le = dans le test (si tu ne mets pas d'espace, test ne trouve pas l'opération et considère "$ch1"="$ch2" comme une seule chaîne de caractères).

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Merci pour votre aide. ça marche
    (soyez toujours la pour moi :o )

  5. #5
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut Re: fonction linux shell
    Citation Envoyé par hanane93
    Bonjour à tous,

    Je souhaite comparer 2 chaines de caractères dans un shell
    je fais
    ch1 = bonjour;
    ch2 = aurevoir;

    test[ "$ch1"="$ch2"] ;
    echo $?

    j'ai comme résultat 0 ce qui veut dire que les 2 chaines sont égales ce qui est absurde !!

    Pouvez vous m'aider pour cette question qui est pourtant simple .

    Merci d'avance
    Je te conseille ce tutorial pour tout ce qui est shell : Nombres de réponses sont dedans et en plus, il est très interressant pour améliorer son code:
    http://marcg.developpez.com/ksh

Discussions similaires

  1. lire la sortie d'une fonction linux
    Par NexRezzo dans le forum C
    Réponses: 2
    Dernier message: 02/12/2007, 01h08
  2. Exercice linux shell
    Par satinrouge dans le forum Linux
    Réponses: 1
    Dernier message: 05/06/2006, 14h13
  3. Source de fonction linux
    Par nicolaskarp dans le forum Linux
    Réponses: 2
    Dernier message: 05/01/2006, 08h48
  4. Livre sur la programmation linux (shell et noyau)
    Par Tchetch dans le forum Linux
    Réponses: 10
    Dernier message: 07/07/2004, 08h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo