Question rapide qui me hante toute la journée .. J'ai un script bash qui inclut cette ligne:
nc -l 8044 | tee nc-output &
La sortie de netcat n’est jamais écrite dans nc-output. Si je lance cette ligne en dehors du script bash, cela fonctionne.
nc -l 8044 > afile &
Aussi ne fonctionne pas, mais fonctionne en dehors d'un script bash.
J'ai besoin de l'esperluette pour pouvoir exécuter le processus séparément et poursuivre l'exécution de mon script batch. Toute suggestion sera appréciée!
Merci!
Réponses:
Le problème est que dès que nc accepte une connexion, il essaiera de lire stdin. Lorsque vous exécutez ceci en tant que script bash, il lit toujours immédiatement EOF et ferme la connexion, ce qui ne se produit pas lorsque vous l'exécutez en dehors d'un script.
Utilisez
-d
switch pour empêcher nc de lire stdin.la source