Tmux:sendキーが送信したコマンドの終了コードを確認してください。

Tmux:sendキーが送信したコマンドの終了コードを確認してください。

私の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-keysrepeat 5; do print This is a test; sleep 1; donesleep <seconds_repeat_consume>repeatsend-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

おすすめ記事