По сути, я хочу написать какой-нибудь скрипт, например
#!/bin/bash
for idx in 1 2 3 4 5 6
do
echo machine$idx
ssh machine$idx tmux new-session -d -s "myTempSession$idx" python run.py
done
, который может делать это отдельно, как:
ssh machine$idx
tmux new-session -d -s "myTempSession$idx"
python run.py
, но после многих проб и ошибок я все еще не могу заставить его работать так, как ожидалось.
UPDATE следуя совету Tagwint, мой сценарий:
#!/bin/bash
for idx in 1 2 3 4 5 6
do
ssh machine$idx <<REMSH
tmux new-session -d -s "myTempSession"
tmux send-keys -t -s "myTempSession" python Space run.py C-m
REMSH
done
, но он предлагает:
./dist_run.sh: line 8: warning: here-document at line 4 delimited by end-of-file (wanted `REMSH')
./dist_run.sh: line 9: syntax error: unexpected end of file
UPDATE Я изменяю его на
#!/bin/bash
for idx in 36 37
do
ssh machine$idx <<REMSH
tmux new-session -d -s "myTempSession"
tmux send-keys -t -s "myTempSession" python Space run.py C-m
REMSH
done
, это работает, но после запуска сценария я вхожу в machine36
и machine37
, перейдите в открытый myTempSession, python run.py
не выполняется
Советую ЗДЕСЬ -DOC apporach
ssh machine$idx <<REMSH
tmux new-session -d -s "myTempSession$idx"
tmux send-keys -t "myTempSession$idx" python Space run.py C-m
REMSH
Примечание. Часть $idx в имени сеанса, скорее всего, ничего не разрешит. если у вас не определена переменная среды idx поэтому вы получите имя сеанса просто myTempSession