Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec un script bash

    29 juillet 2019 à 15:43:05

    Bonjour à tous, alors voilà mon problème : j'essaie de faire un petit script qui lit dans un fichier et qui me dit si oui non les mots commencent par la lettre A j'utilise un if qui echo Vrai si le mot commence bien par A et Faux si il ne commence pas par A. Mon code est donc le suivant :

    #!/bin/bash
    #Déclaration de ma fonction
    verifLettre()
    #La variable mots prend toutes les valeurs de $1 qui est le fichier texte qui contient tous les mots
    {
        for mots in `cat $1`
        do 
             if [ "$mots" = "$2"* ]
             then 
                    echo "Vrai"
             else 
                    echo "Faux"
             fi
        done
    }
    verifLettre "dico.txt" "A" #Appel de la fonction avec le nom du fichier et la lettre à vérifier en paramètre




    Le problème c'est que quand j'exécute le script, l'invite me revoie faux pour tous les mots alors que les premiers mots du fichier commencent par la lettre A

    Merci d'avance pour vos réponses

    -
    Edité par LouisFlamion 29 juillet 2019 à 15:43:53

    • Partager sur Facebook
    • Partager sur Twitter
      29 juillet 2019 à 16:52:46

      salut,

      la commande test ou [ ne comprend pas le joker *;
      seulement le test avancé [[ peux le faire (entre autres choses).

      PS: `cat fichier` peut être remplacé par $(<fichier)

      -
      Edité par dantonq 29 juillet 2019 à 17:07:59

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

      Problème avec un script bash

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown