私のzshスクリプトには次のコマンドがあります。
tmux select-pane -t 0
tmux send-keys 'repeat 5; do print This is a test; sleep 1; done' Enter
tmuxのトランスポートキー自体はウィンドウに文字列を送信しますが、そのステータスstring
(終了コード)を知りません。
repeat 5; do print This is a test; sleep 1; done
いつ完了したのか、どうすればわかりますか?
repeat 5; do print This is a test; sleep 1; done
編集:私が経験した問題は、次のコマンドの結果に影響を与えることでした。つまり、消費された時間を直接計算し、次のコマンドを実行する前にコマンドが完了するのを待つ時間を計算しましたsend-keys
。repeat 5; do print This is a test; sleep 1; done
sleep <seconds_repeat_consume>
repeat
send-keys
ベストアンサー1
実際の終了コードを取得するのは難しいかもしれません。しかし、コマンドが完了したという事実だけを知れば良いようです。この場合、以下を使用できます。tmux wait-for
。
このような:
tmux select-pane -t 0
tmux send-keys \
'repeat 5; do print This is a test; sleep 1; done; tmux wait-for -S 0' Enter
tmux wait-for 0
echo 'Loop finished'
これにより、tmuxがそのセクションにtmux wait-for 0
到達するまで中断が発生します。tmux wait-for -S 0