Execution script, sortie d'erreur

Bonjour,

J'aimerai exécuter un script à l'écran, et retourner les erreurs dans un fichier texte. Mon problème et que j'arrive à renvoyer les erreurs dans un fichier grâce à un "2 > erreur.txt" mais du coup le script ne se lance pas à l'écran !

Comment faire ? Merci.
Configuration: Ubuntu LTS 8.04

11 réponses

  1. Webmaster
    Bonjour,

    Si tu nous mettais un extrait de ton script (choisi un extrait avec un message d'erreur, et un message normal) on pourrait plus facilement te dire ou ça coince ;-)

    A plus
    1. Le script en question est le script d'installation de Zimbra. Mais apparemment tout se trouve au niveau du script, donc sauf si indiqué dans ce dernier, je n'ai apparemment pas la possibilité d'envoyer les codes sur telles ou telles interfaces (ou fichiers). J'ai donc fini par comprendre que ce que je voulais faire n'est pas possible, sauf modification de script.

      Merci de votre aide.
      1. Contributeur
        par défaut stdout va à l'écran donc
        cmd 2>fichier
        toutes les erreurs vont dans fichier, le reste à l'écran
        1. Oui, mais j'aimerai que le script s'execute sur ma console également, j'ai du mal me faire comprendre.

          Soit :

          - Code 1 : à l'écran (console)
          - Code 2 : dans un fichier

          Quelqu'un voit ou je veux en venir ?
          1. Contributeur
            alors ce que tu fais dans ton premier message doit fonctionner
            script 2>erreurs.txt
            ne redirige que les erreurs dans le fichier
            1. Oui effectivement, je partait du principe qu'ils utilisent stderr (code 2) et stdout (code 1). Donc l'idée est be balancer les retours du stderr (code 2) dans un fichier qu'on aura choisit, tout en ayant le stdout (code 1) à l'écran.
              1. Contributeur
                si le script sépare les erreurs sur stderr et le reste sur stdout oui, mais si tous les messages sont affichés sur stdout, on ne peux pas rediriger que les erreurs, à moins de filtrer en fonction du contenu si il contient des mots clés : | grep -i erreur
                1. Ok, donc enfaite il n'y a pas moyen de rediriger les messages d'erreurs cachés d'un script s'exécutant à l'écran ?
                  1. Contributeur
                    si les erreurs apparaissent à l'écran c'est qu'elles ne sont pas redirigées ou sur le stdout, voir dans le script quelque chose comme ...2>...
                    1. D'accord, mais justement, on va pouvoir tomber sur une erreur qui sera elle balancée dans un log quelconque (voir nulle part). Ce que je veux ici, c'est de pouvoir lancer mon script normalement, avec les interactions à l'écran, et si erreur rencontrée, me l'envoyer dans un fichier car il est pas obligatoirement affichée à l'écran.

                      Dans mon cas, c'est un script d'installation qui balance les erreurs dans un log dont je connais la localisation, mais est-t-il possible que je choisisse moi même le fichier ? Il faut que je modifie le script ?
                      1. Contributeur
                        hello
                        puisque tous les messages d'erreurs sont redirigés dans un fichier, si il n'y a pas d'autres messages, rien ne va apparaitre à l'écran