基本的に私は次のようなスクリプトを書きたいです
#!/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
次のように各マシンで個別に実行できます:
ssh machine$idx
tmux new-session -d -s "myTempSession$idx"
python run.py
しかし、多くの試行錯誤の後、期待どおりに動作させることはできません。
2つのアクションを分割する必要があります1)tmux
分離セッションを作成します。 2)コマンド/キーを送信します。また、おそらく -n
オプション を追加することをお勧めします。したがって、スクリプトは次のようになります。
#!/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