Comment passer des variables entre deux serveurs?

Je prends la saisie de l’utilisateur pour un script shell et je veux exécuter ce script sur différents serveurs.

J’ai essayé de passer les variables comme suit:

USERNAME=**** HOSTS="**** ***** *****" FOO=$1 BAR=$2 for HOSTNAME in ${HOSTS} ; do ssh $USERNAME@$HOSTNAME bash << EOF #script using FOO and BAR variables goes here EOF 

La connexion au serveur est réussie mais les variables ne sont pas transmises.

Comment gérer cette situation sans créer de fichier temporaire?

Fais-le comme ça:

 VAR="something" ssh $USERNAME@$HOSTNAME " VAR=$VAR export VAR " 

Duplication possible de cette réponse de superutilisateur .

En bref: Vous pouvez transmettre des valeurs avec une commande similaire à la suivante:

 ssh username@machine VAR=value cmd cmdargs