Chcę napisać skrypt otwierający terminal z różnymi kartami, zalogować się do serwera za pomocą ssh
każdej karty i wykonać polecenie na każdej karcie. Na przykład: htop
.
Poniższy skrypt otwiera terminal z 4 zakładkami zalogowanymi na serwerze. Ale jeśli spróbuję dodać htop
polecenie w cmd=
wierszu, to już nie działa ...
#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
Próbowałem tego ...
cmd="bash -c 'ssh user@host htop';bash"
... ponieważ ssh --help
mówi, że składnia dla ssh
:
użycie: ssh [użytkownik @] nazwa hosta [polecenie]
ssh
gnome-terminal
Czerwony
źródło
źródło
bash -c 'ssh -t user@host "htop;bash"'
byłoby lepiej, ale nie rozumiem, dlaczego próbujesz usmażyć tę rzecz w opakowaniu typu bash. Nie jest to wymagane - uruchamiasz tylko jedno polecenie lokalnie.bash
zaread
.