Ich möchte ein Skript schreiben, das ein Terminal mit verschiedenen Registerkarten öffnet, mich ssh
in jeder Registerkarte bei einem Server anmeldet und in jeder Registerkarte einen Befehl ausführt. Zum Beispiel: htop
.
Das folgende Skript öffnet ein Terminal mit 4 Registerkarten, die alle auf dem Server angemeldet sind. Aber wenn ich versuche, den htop
Befehl in die cmd=
Zeile einzufügen, funktioniert er nicht mehr ...
#bin/bash
tab="--tab"
cmd="bash -c 'ssh user@host';bash"
foo=""
for i in 1 2 3 4; do
foo+=($tab -e "$cmd")
done
gnome-terminal "${foo[@]}"
exit 0
Ich habe das versucht ...
cmd="bash -c 'ssh user@host htop';bash"
... weil der ssh --help
besagt, dass die Syntax für ssh
ist:
Verwendung: ssh [user @] Hostname [Befehl]
quelle
bash -c 'ssh -t user@host "htop;bash"'
wäre besser, aber ich verstehe nicht, warum Sie versuchen, dieses Ding in einem Bash-Wrapper zu braten. Es ist nicht erforderlich - Sie führen nur einen Befehl lokal aus.bash
fürread
.