iterm_windowを使うとRubyからiTermのタブを開くことができる。
require "iterm_window" ItermWindow.open do open_tab "opened_by_iterm_window" do write "echo 'Hello from iterm_window'" end end
iTermはShell > Broadcast Input > Broadcast to All Panes in All Tabs
を設定すればすべてのタブに同じコマンドが打ち込めるので、例えばSSHでパスワード入力が必要な複数サーバで同じ作業をするときなんかに
ItermWindow.open do 1.upto(100) do |i| open_tab "opened_by_iterm_window" do write "ssh #{i}.myserver" end end end
としてサーバ文だけタブを開き、すべてのプロンプトでパスワードを効かれたらBroadcast to〜
を有効にし、あとはパスワードを打ってログインして〜とまとめて作業をすることができる。