Fondamentalement, je veux écrire un script comme
#!/bin/bash
for idx in 1 2 3 4 5 6
do
ssh machine$idx tmux new-session -d -s "myTempSession$idx" python run.py
done
qui peut faire la chose séparément sur chaque machine en tant que:
ssh machine$idx
tmux new-session -d -s "myTempSession$idx"
python run.py
mais après de nombreux essais et erreurs, je ne peux toujours pas le faire fonctionner comme prévu.
Vous devez diviser les deux actions 1) créer une session détachée tmux
; 2) lui envoyer une commande/des clés. Aussi peut-être que l’ajout de -n
option est une bonne idée ... Votre script devrait donc ressembler à ceci:
#!/bin/bash
for idx in 1 2 3 4 5 6
do
ssh -n machine$idx 'tmux new-session -d -s "myTempSession$idx"; tmux send-keys -t "myTempSession$idx" "python run.py" ENTER'
done