Ich möchte in einen Remote-Host ssh und dann eine for-Schleife ausführen, die eine Folge von Zahlen durchläuft, um die Anzahl der verschiedenen Knoten zu steuern.
ssh user@host /bin/bash << EOF
for i in {1..10}
do
echo $i
done
EOF
In diesem Fall werden nur 10 Leerzeilen ausgegeben, anstatt Zahlen von 1 bis 10 auszudrucken.
Wenn ich denselben Code auf meinem lokalen Computer ausführe, erhalte ich die gewünschte Ausgabe, dh zehn Zeilen pro Zeile, die von 1 bis 10 gedruckt werden.
Wie würde man die beabsichtigte Funktionalität erreichen, die darin besteht, auf den Index in einer for-Schleife zuzugreifen, die in SSH ausgeführt wird?
$i
wird lokal erweitert, bevor man es per ssh rüber schickt.Antworten:
Aus dem Bash-Handbuch :
Lass es uns versuchen:
quelle