Sshpass en boucle


1

Pourquoi, lorsque vous utilisez sshpassune boucle, la première sshpassexécute des commandes, pas la suivante?

for element in "${a[@]}"
 do {
     echo "$element"
     sshpass -p "omg" ssh root@$element 'ls' 
    }
done

Pouvons-nous avoir un contexte, comme par exemple ce qui aest?
var prenom

a est un tableau contenant les
adresses

fixe il utiliser: echo "$ element"; export SSHPASS = 'omg'; sshpass -e ssh -o StrictHostKeyChecking = pas de racine @ $ élément 'ls' non défini SSHPASS
Goking

N'ajoutez pas d'informations supplémentaires dans la section commentaire. Mieux modifier votre question avec la nouvelle information.
Zx485

@Goking apporte une réponse à cette question et la marque comme solution. Supprimez l'échantillon de code fixe de la question et placez-le dans la solution.
var prenom

Réponses:


0

J'ai trouvé un correctif:

for element in "${a[@]}" do
   echo "$element"
   export SSHPASS='omg'
   sshpass -e ssh -o StrictHostKeyChecking=no root@$element 'ls'
   unset SSHPASS
done  

1
Remarque: la question est "pourquoi?" et la réponse n'explique rien. Ce peut être ou ne pas être un exemple de programmation vaudou , mais sans explication, il sera surtout utile aux programmeurs vaudous.
Kamil Maciorowski

Je suppose qu'il doit faire quelque chose avec l'invite: ajouter cet hôte? et vous devez taper oui. Outre que cela fonctionne parfaitement sans la boucle, même l'hôte n'est pas ajouté dans un script, il suppose que oui.
Goking
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.