J'essaie d'écrire un script qui génère plusieurs commandes longues sur une machine locale et distante. Actuellement, un exemple de ma solution serait :
#!/bin/bash
ssh -t user@1.2.3.4 tmux new -s remote -d "find / *"
tmux new -s local -d "find / *"
Cependant, lorsque ces commandes deviennent plus complexes (commandes longues, enchaînées, avec des guillemets, au lieu d'une simple find
), il devient compliqué de les mettre sur une seule ligne et d'échapper à tous les guillemets imbriqués.
J'ai essayé d'utiliser SSH avec un soi-disant "document ici", par exemple :
ssh -t user@1.2.3.4 << EOF
tmux new -s remote -d "find / *"
EOF
tmux new -s local -d "find / *"
Mais cela conduit soit à l'erreur not a terminal
avec l'option -T ou -t pour SSH, ou à un comportement très étrange en utilisant l'option -tt.
Avez-vous des suggestions pour optimiser ou modifier radicalement mon approche ?