Script de test

Résolu
chrisgdl Messages postés 3 Statut Membre -  
chrisgdl Messages postés 3 Statut Membre -
Bonjour à tous,

je cherche à faire un script tout bête sur shell:

Le principe est le suivant:

tester si le mot "toto" existe dans mon fichier test1 situé dans /home
Dans le cas où il existe, faire un action. Dans le cas contraire, quitter le script.

Je n'arrive pas du tout à récupérer les valeurs du grep :(

Auriez-vous la gentillesse de m'aider, merci.

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Montres-nous ce que tu as fait.

    Je n'arrive pas du tout à récupérer les valeurs du grep
    C'est à dire, le code retour ou le résultat du grep ?
    0
  2. chrisgdl Messages postés 3 Statut Membre
     
    Bonjour Zipe31, merci de ton aide :)
    Le fichier toto.log contient bien "erreur"

    #! /bin/sh
    grep -i "erreur" /home/toto.log
    if [ $? -eq 0 ]
    then
    rm ${/home/fichier_de_test.log}
    else
    exit 1
    fi

    exit 0

    et quand je l'exécute j'ai: "bad substitution" ligne 8
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Normal, le fichier "/home/fichier_de_test.log" n'est pas une variable, il ne faut pas l'entourer de "${}" ;-\

      rm /home/fichier_de_test.log

      De plus, tu testes un fichier nommé "toto.log" et tu veux effacer un fichier nommé "fichier_de_test.log", c'est normal ou tu t'es planté dans le nom des fichiers ?
      0
    2. chrisgdl Messages postés 3 Statut Membre
       
      Ah autant pour moi...
      Pour les tests précédents c'était bien une variable en effet :/
      Et pour le rm, c'est normal. Je veux vraiment dissocier les deux fichiers.
      0