Je veux écrire un script qui ouvre un terminal avec différents onglets, me connecter à un serveur en utilisant ssh
dans chaque onglet et exécuter une commande dans chaque onglet. Par exemple: htop
.
Le script ci-dessous ouvre un terminal avec 4 onglets tous connectés sur le serveur. Mais si j'essaye d'ajouter la htop
commande dans la cmd=
ligne ça ne marche plus ...
#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
J'ai essayé ça ...
cmd="bash -c 'ssh user@host htop';bash"
... car le ssh --help
dit que la syntaxe de ssh
est:
utilisation: ssh [utilisateur @] nom d'hôte [commande]
la source
bash -c 'ssh -t user@host "htop;bash"'
serait mieux, mais je ne vois pas pourquoi vous essayez de faire frire cette chose dans un emballage bash en premier lieu. Ce n'est pas obligatoire - vous n'exécutez qu'une seule commande localement.bash
parread
.