Redirection de commandes passées avec <<

Salut,

j'essaye de récupérer dans un fichier le resultat d'une commande passée en interactif, et je n'y arrive pas (je sais la mettre dans une chaine, mais si elle dépasse 2048 car, je suis marron).

Voici ma commande :
        /usr/bin/nsradmin <<fin
            show last start;completion;name
            option hidden
            print type:NSR group;name:$group
            quit
            fin

J'ai essayé avec des `, des {, des (, des > en sortie mais rien n'y fait !
Une astuce serait la bienvenue... :-)

Merci d'avance

Question subsidiaire : sait-on gérer des fichiers temporaires (qui seront effacés automatiquement lors de la sortie de la session) ?

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

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bon ben, j'ai trouvé :
            saveko=$(/usr/bin/nsradmin <<fin 2>&1 | tee | grep -c "status: running"
            show last start;completion;name;status
            option hidden
            print type:NSR group;name:$group
            quit
            fin)

    Et en plus, pas de fichier temporaire, tout passe par les pipes...

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

      Pas sur de bien saisir, il faudrait que j'ai la commande en question pour tester :)
      /machin/tacommande << FIN > result 2>&1

      Logiquement, tu devrais avoir tout ce qui ressort de ta commande dans le fichier result sans la saisie.

      ...Mana mana
         Tutudutu...
      1. Modérateur
        A+ Blux
         "Les cons, ça ose tout.
        C'est même à ça qu'on les reconnait"
        1. Modérateur
          Ben voui, mais j'ai un paramètre dans mes commandes, alors ça m'amuse pas trop d'être obligé de créer le fichier cmds.txt à chaque fois, car la commande pourra être passée par plusieurs utilisateurs en même temps (c'est aussi pourquoi j'ai demandé si on connaissait la notion de fichier temporaire...)

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

            Mets ta suite de commandes dans un fichier ASCII (cmds.txt), et fait çà :

            /usr/bin/nsradmin < cmds.txt > output.txt  2>&1
            


            Le "2>&1" c'est pour récupérer la sortie standard avec les sorties d'erreurs aussi.

            Dal