There's an echo in my head

日々のメモ。

iterm_windowでRubyからiTermのタブを開く

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〜を有効にし、あとはパスワードを打ってログインして〜とまとめて作業をすることができる。

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。