Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1726 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Interactions avec les "echo" sur terminal UNIX+JAVA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Interactions avec les "echo" sur terminal UNIX+JAVA

n°1359579
flavio_dev
Posté le 04-05-2006 à 14:12:00  profilanswer
 

bonjour à tous.
Voila ma p'tite question :
Je travaille dans un environnement UNIX, et je lance des scripts à partir de methodes JAVA ( getRuntime.exec("scriptshell.sh" ); ). Sauf que quand on lance un script.sh, si on s'applique à en faire un assez facil à utiliser, on se debrouille touojours pour mettre des echo "demarage du script", des echo "Erreur" à quelques ligne, pour la comprehension ou pour savoir dans quel boucle on entre etc...Ces lignes s'affichent donc sur l'écran du terminal. Le probleme, c'est que quand on execute un script avec Java, c'est lignes sont transparentes... je veux dire par là qu'elle ne s'affichent pas. Si une erreur survient, on a pas le message fourni par echo...
et bien ce que je voudrais, c'est justement récupérer ces lignes qui apparaissent en sortie écran de termial, pour les afficher dans un autre environnement (dans une page HTML en l'occurence ici...).
Comment récupérer les echo lancer dans un script ?
La récupération du exit.value() ne fonctionne pas, pour ceux qui allaient me dire cette solution qui consiste à renvoyer un code en sortie (un int)lorsqu'une erreur se produit.
Merci d'avance
Flavio

mood
Publicité
Posté le 04-05-2006 à 14:12:00  profilanswer
 

n°1359772
PepMat
Posté le 04-05-2006 à 16:23:31  profilanswer
 

Tu rediriges tes echos vers un fichier texte voire meme directement dans une page web,
avec les operateurs de redirection > et >>  
 

Code :
  1. Echo "TOTO" >> File.txt

n°1359929
flavio_dev
Posté le 04-05-2006 à 18:39:36  profilanswer
 

Merci pour ce conseil... c'est ce que j'avais commencé à faire (redirigé dans un .txt, puis lire ce fichier avec class JAVA en vu d'un affichage...) ce matin ... avant de poser la question :)  
Le truc, c'est que c'est possible sur les quelques script que j'écris... mais il y en a auquel je n'est pas acces, et que j'ai encor moins le droit de modifier (Je suis qu'en stage apres tout :( ). C'est pour ca que je souhaitais récupérer les stdout d'un terminal.
Voila, merci quand meme de ton soutien PepMat :)
Si tu as une autre idée... je suis prenneur !

n°1360083
flavio_dev
Posté le 04-05-2006 à 23:30:55  profilanswer
 

up

n°1360084
chicotruss
Posté le 04-05-2006 à 23:45:28  profilanswer
 

Salut,
 
getRuntime().exec te renvoit un objet Process qui a des methodes getInput|Output|ErrorStream()

n°1360181
PepMat
Posté le 05-05-2006 à 09:32:46  profilanswer
 

flavio_dev a écrit :

Merci pour ce conseil... c'est ce que j'avais commencé à faire (redirigé dans un .txt, puis lire ce fichier avec class JAVA en vu d'un affichage...) ce matin ... avant de poser la question :)  
Le truc, c'est que c'est possible sur les quelques script que j'écris... mais il y en a auquel je n'est pas acces, et que j'ai encor moins le droit de modifier (Je suis qu'en stage apres tout :( ). C'est pour ca que je souhaitais récupérer les stdout d'un terminal.
Voila, merci quand meme de ton soutien PepMat :)
Si tu as une autre idée... je suis prenneur !


 
Bon méthode de bourrin, mais bon, si ça peut servir :
 
Tu n'as pas le droit de modifier les batchs que tu lances ?
 
La solution :
 
Créer dynamiquement un fichier batch temporaire à partir de ton script de départ  
en rajoutant des redirections vers un fichiers quand tu detectes un echo.
Puis lancer ce batch nouvellement créé à partir de l'ancien.
 
Structure :
Tu as ton script que tu veux lancer : scriptshell.sh
à partir de ton code java tu crées dynamiquement (à l'interieur de ton programme) un autre fichier scriptshell2.sh
auquel tu rajoutes ">> Log.txt" à toutes les lignes ou tu détectes "Echo"  
Puis après l'avoir créé, tu le lances (le nouveau : scriptshell2.sh).

n°1361747
flavio_dev
Posté le 08-05-2006 à 14:45:35  profilanswer
 

chicotruss a écrit :

Salut,
 
getRuntime().exec te renvoit un objet Process qui a des methodes getInput|Output|ErrorStream()


 
Oui ca j'ai essayé, ca marche... c'est galere, mais ca marche... je metterai le bout de code si cela interrese quelqu'un.
Malheureusement, ca ne convient pas à mon projet... difficile à expliquer pourquoi, je suis dans une architecture très complexe... mais ca ne marche pas... je vais peutetre essayer la solution de PepMat!

n°1361750
flavio_dev
Posté le 08-05-2006 à 14:46:20  profilanswer
 

je vous tiens au courant !

n°1362509
Deadlock
Feck off, cup !
Posté le 09-05-2006 à 15:58:10  profilanswer
 

Et tout simplement getRuntime.exec("scriptshell.sh>File.txt" ) ?


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1363812
flavio_dev
Posté le 10-05-2006 à 21:12:22  profilanswer
 

heu.... pas bête... j'essayerais, mais c'est vrai que ce serait une solution des plus simple... J'ai plus ou moins résolu mon probleme en fait (comme dit ci dessus...). Je n'ai pas pris le code.. je vous l'affiche dès que....j'y pense... ^^. Mon probleme se trouve autre part maintenant... c'est du coté client, avec ma page html (architecture entre page HTML et applet en Java...). Je vous met le lien.  
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0
 Merci à tous!
Flavio


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Interactions avec les "echo" sur terminal UNIX+JAVA

 

Sujets relatifs
Servlet Java[URGENT] [JAVA] Affichage d'une forme d'onde sonore
algorithme pour derouler les donnees d'un arbre en java3D et java
Communication haut niveau Unix/WindowsCommand shell Windows a la Linux/Unix?
package java[java] convertir .pdf >> .html et .doc >> .html
java & xmlgraphe en java
Plus de sujets relatifs à : Interactions avec les "echo" sur terminal UNIX+JAVA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR