Я хочу написать скрипт, который откроет терминал с разными вкладками, войдет на сервер с помощью ssh
каждой вкладки и выполнит команду на каждой вкладке. Например: htop
.
Приведенный ниже скрипт открывает терминал с 4 вкладками, вошедшими в систему на сервере. Но если я попытаюсь добавить htop
команду в cmd=
строку, она больше не работает ...
#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
Я попробовал это ...
cmd="bash -c 'ssh user@host htop';bash"
... потому что ssh --help
говорит, что синтаксис для ssh
:
использование: ssh [пользователь @] имя хоста [команда]
источник
bash -c 'ssh -t user@host "htop;bash"'
было бы лучше, но я не понимаю, почему вы пытаетесь жарить эту штуку в оболочке bash. Это не обязательно - вы запускаете только одну команду локально.bash
наread
.