Bonsoir,
En fait lorsque on fait un ssh toto@tata "executeca" aucun tty n'est ouvert et le stdin et stdout de executeca est un pipe vers ssh.
la manpage de sh indique pour read -p The prompt is prited if the -p option is specified and the standard input is a terminal.
Donc pour faire marcher le script a travers ssh il faut faire ssh -t destination script
Cordialement, Laurent
----Original Message----- La question est donc d'expliquer la différence de comportement entre une connexion tty et un ssh
Le même shell est-t-il appelé dans les deux cas? les mêmes paramètres sont-t-ils utilisés. De plus sh est souvent un alias sur un (vrai) shell
-----Original Message----- From: tech [mailto:tech-bounces@lists.parinux.org] On Behalf Of alain@vaugham.com Sent: vendredi 3 juillet 2015 18:10 To: tech@lists.parinux.org Subject: [Tech] Script Bash : ligne non affichée
Bonjour la liste,
Selon que le script est exécuté à distance ou en local, la ligne 2 s'affiche ou ne s'affiche pas. Cependant, le script s'exécute correctement dans les deux cas.
Le script: #!/bin/sh echo "On affiche ligne 1." read -p "On saisie en ligne 2? " donnee echo $donnee
Exécution en local: $ mon_script On affiche ligne 1. On saisie en ligne 2? toto toto $
Exécution à distance : $ ssh moi@serveur mon_script On affiche ligne 1. toto toto $
Est-ce qu'il y a une astuce? Merci par avance.
-- Alain Vaugham Clef GPG : 0xDB77E054673ECFD2 _______________________________________________ tech mailing list tech@lists.parinux.org https://lists.parinux.org/listinfo/tech
_______________________________________________ tech mailing list tech@lists.parinux.org https://lists.parinux.org/listinfo/tech
Le Sat, 04 Jul 2015 00:01:11 +0200, Laurent laurent@hpfrcu08.france.hp.com a écrit :
Donc pour faire marcher le script a travers ssh il faut faire ssh -t destination script
Merci pour le "Force pseudo-tty allocation" du ssh. Jamais je n'aurai compris à quoi ça pouvait bien servir rien qu'en lisant le man.
Et merci aussi pour l'explication du tty. Quand au -p de read je cherchais sans succès dans le man de read au lieu du man de sh!