Redirection de commandes passées avec <<

blux Messages postés 27827 Statut Modérateur -  
blux Messages postés 27827 Statut Modérateur -
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

[Dal] Messages postés 6373 Statut Contributeur 1 106
 
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
0
blux Messages postés 27827 Statut Modérateur 3 363
 
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"
0
blux Messages postés 27827 Statut Modérateur 3 363
 
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
asevere Messages postés 13521 Statut Webmaster 426
 
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 27827 Statut Modérateur 3 363
 
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"
0