Ich versuche, ein Skript zu erstellen, das sich bei jedem Server aus einer Liste mit einem Benutzer aus einer anderen Liste anmeldet und einen Befehl ausführt. Wie kann ich das tun, indem ich den ersten Host aus der Datei nehme und mich mit dem ersten Benutzer aus einer anderen Datei anmelde, den zweiten Host aus der Datei nehme und mich mit dem zweiten Benutzer aus der Datei anmelde und so weiter?
Das habe ich bisher bekommen:
#!/bin/bash
for host in `cat hosts.txt`
do
for user in `cat users.txt` ;
do
ssh -t Natasha@$host << EOF ;
/usr/local/bin/sudo -i -u $user w ;
EOF
done
done
Aber hier wird der Befehl für den ersten Host mit allen Benutzern aus der Benutzerliste ausgeführt.
Antwort1
wenn in beiden Dateien die gleiche Anzahl Zeilen vorhanden ist
paste hosts.txt users.txt |
while read host user
do
...
done
Sie können paste
zuerst den Befehl ausprobieren, um zu überprüfen, ob der Host den richtigen Benutzer erhält.