Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 04/12/2009, à 18:08

scripts qui s'appellent et terminal coincé

Bonsoir,

je suis face à un problème, mon terminal ne reprend pas la main lorsque des scripts s'appellent entre eux...

soit 2 fichiers :
- fichier a.sh :

#! /bin/bash

function ouesh()
{
echo "Ouesh gros, comment va ?"
} 

if [[ -n ${1} ]]
then
	$1
else
	echo "pipi popo papa pupu"
	bash b.sh &
fi

exit

- fichier b.sh :

#! /bin/bash

if [[ -n $(ps ax | grep "a.sh" | grep -v "grep") ]]
then
	kill $(ps ax | grep "a.sh" | grep -v "grep" | sed 's/^ //' | cut -d" " -f1 | tr '\n' ' ')
fi

bash a.sh ouesh &

exit

si je lance a.sh, il va bien afficher le texte par défaut suivit du texte de la fonction, mais au finale aucune reprise de contrôle du terminal.

Quel est le problème ?

Ce n'est évidemment qu'un exemple car j'ai le même problème dans un script beaucoup plus gros.

En ligne

#2 Le 04/12/2009, à 19:35

Re : scripts qui s'appellent et terminal coincé

Je te recommande cette lecture sur les coprocesses : http://bash-hackers.org/wiki/doku.php/syntax/keywords/coproc
C'est une nouvelle feature de bash4 qui permet des communications inter processus.


bashfr.org(random);
<Hélène> A ton avis, elle mesure combien Amy Winehouse?
<Quentin> Avec ou sans les cheveux?

Hors ligne

#3 Le 06/12/2009, à 19:13

Re : scripts qui s'appellent et terminal coincé

Pour info, je n'ai pas ton soucis ...:P

Dernière modification par Totor (Le 06/12/2009, à 19:13)


-- Lucid Lynx --

Hors ligne

#4 Le 06/12/2009, à 21:57

Re : scripts qui s'appellent et terminal coincé

Bonsoir j'ai la version

3.2.39(1)-release

de bash dois je installer la 4.0 ou c'est pas nécessaire ?


Welcome to the real world
________________________________

Hors ligne

#5 Le 06/12/2009, à 22:11

Re : scripts qui s'appellent et terminal coincé

si vous n'avez pas le même problème, à quoi cela pourrait il être dû ?!

En ligne

#6 Le 06/12/2009, à 23:04

Re : scripts qui s'appellent et terminal coincé

je sais pô !

echo ${BASH_VERSION[@]}
3.2.48(1)-release

-- Lucid Lynx --

Hors ligne

#7 Le 07/12/2009, à 02:33

Re : scripts qui s'appellent et terminal coincé

sputnick a écrit :

Je te recommande cette lecture sur les coprocesses : http://bash-hackers.org/wiki/doku.php/syntax/keywords/coproc
C'est une nouvelle feature de bash4 qui permet des communications inter processus.

C'est même dans ZSH depuis longtemps et je ne connaissais même pas O_o

Dire que ça aurait pu me servir, quand j'essayais vainement d'émuler la même chose à coup de while read line et autres pipes nommés...

Hors ligne

#8 Le 07/12/2009, à 12:23

Re : scripts qui s'appellent et terminal coincé

4.0.33(1)-release

personne n'a la même version comment c'est possible ca...

En ligne

Haut de page ↑