質問: xpanes は複数の対象に対するコマンドを、その分だけ tmux pane を開きながら実行することができるツールです。 デフォルトでは、それぞれの pane に対するコマンドの実行は、一つ一つ実行されています: 1. pane を対象分だけ用意する 2. 各 pane に対して、ひとつひとつ、実行するべき command を送り込む。 2 の処理が並列実行できたらいいなと思いました。 ### 質問 * xpanes で各開かれた pane に対しての処理を並列実行することはできますか?
回答: ソースを読むとpaneに対して順番にコマンドを投げるだけのようなので、完全に同時にコマンドを投げ込むことは不可能と思いました。(並列実行はできていますが、質問の意図としては同時に、ということですよね) ``` # Send command to the all the panes in the target window. xpns_send_commands() { local _window_name="$1" ; shift local _index_offset="$1" ; shift local _repstr="$1" ; shift local _cmd="$1" ; shift local _index=0 local _pane_index for arg in "$@" do _pane_index=$(( _index + _index_offset )) ${TMUX_XPANES_EXEC} send-keys -t "${_window_name}.${_pane_index}" "${_cmd//${_repstr}/${arg}}" C-m _index=$(( _index + 1 )) done } ```