• # D'autres essais

    Posté par . En réponse au message Détecter des pipes à travers ssh.. Évalué à 2.

    #> echo toto | ssh -t localhost ~/term.sh
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    STDIN: PIPE
    STDOUT:: PIPE
    STDERR: PIPE
    
    

    Dans le cas qui te pose souci, j'ai un message en plus.

    Et dans ce cas là, on peut faire :

    #> echo toto | ssh -t -t localhost /home_shared/fredd/term.sh
    toto
    STDIN: TERM
    STDOUT:: TERM
    STDERR: TERM
    
    

    ou alors
    #>ssh t localhost "echo toto | /home_shared/fredd/term.sh"
    STDIN: PIPE
    STDOUT:: TERM
    STDERR: TERM
    Connection to localhost closed.
    
    

    mais j'ai peur qu'aucun des deux ne te soit utile !

    En clair, ssh laisse les terminaux comme il les trouvent.
    Le truc, c'est qu'il doit en créer (-t) un tty si tu lui demandes ou pas (-T ou rien) de l'autre côté du tunnel ssh.
    Dans le second cas, il redirige tout pour te ressortir les entrées/sorties de ce côté du tunnel. Dans le premier, il alloue un terminal dont il redirige les I/O et exécute ton programme dedans.