tmux転送キー操作中に一時停止を導入する方法は?

tmux転送キー操作中に一時停止を導入する方法は?

send-keystmuxを使いたいリモートサーバーにログインすると、一連のコマンドを実行します。

リンクされた回答では、単一のコマンドが使用されます。私はそれらを一連に配置できることを知っていましたが、それらのうちの2つ以上を正常に実行したことはありません。それらの間に一時停止を導入することは可能ですか(リモートホストが応答する前にtmuxがそのうちの1つを実行することが問題であると仮定するため)。

このコマンドはログインしているユーザーに変更を適用します。これはこれまで問題ではありませんが、実行中のサーバーにスクリプトを配置できない理由の1つです。 (tmuxはユーザーを変更しても構いませんが、スクリプトはそうすることはできず、実行を続けます。)

それでは、2つ以上のコマンドをどのように取得できますか?

関係があるかどうか疑問ですが、zshをローカルで実行し、サーバーでbashを実行しています。

答え1

私も質問を完全に理解していませんが、予想される役に立つかもしれません。インタラクティブセッションに入力を送信し、応答を解析して、ログイン、コマンドの完了などを待つ手動遅延を排除できます。

答え2

tmuxコマンドの間に「スリープ」するだけです...

tmux send-keys -t 1 "echo -n hello " Enter
sleep 5
tmux send-keys -t 1 "echo world" Enter

しかし、一般的に待つ理由は、続行する前に何が起こるべきかということです。固定間隔に依存するのは良いエンジニアリングではありません。expect@FazJaxtonが提案したように、正しいスクリプトを使用する方が安全です。

関連情報