J'essaie d'exécuter un script en SSH et de transmettre certains paramètres à ce script. J'ai essayé ce qui suit qui n'a pas fonctionné - la valeur n'est pas transmise :
$ LC_FOO=x ssh -o SendEnv=LC_FOO $HOST < myLongScript.sh
Les hôtes cibles sont parfois très stricts et recréés régulièrement, il est donc inutile de modifier les paramètres SSH.
J'essaie donc de recourir à une astuce et de transmettre la valeur dans le script lui-même. En d'autres termes, je veux ajouter les variables au script.
J'ai également essayé ces autres approches :
# doesn't work - 'ambiguous redirect'
$ ssh ... < $(...)
# doesn't work - 'LC_FOO=x: command not found'
$ $(echo "FOO=x"; cat myLongScript.sh) | ssh ...
Comment puis-je préfixer la ligne sur ssh
l'entrée ?
Réponse acceptée :
Vous voulez une substitution de processus telle que ssh ... < <(...)
. ssh ... < $(my_command)
est une substitution de commande crée une redirection avec chaque mot du résultat de my_command
comme cible de redirection.