質問: コマンドラインから新しいターミナルを開いて、mac os xでコマンドを実行しますか? コマンドラインから新しいターミナルを開き、その新しいターミナル(mac)でコマンドを実行する方法はありますか?例:次のようなもの:terminal -e ls ここで、lsは新しいターミナルで実行されます。
回答: #!/usr/bin/env ruby1.9 require 'shellwords' require 'appscript' class terminal include appscript attr_reader :terminal, :current_window def initialize @terminal = app('terminal') @current_window = terminal.windows.first yield self end def tab(dir, command = nil) app('system events').application_processes['terminal.app'].keystroke('t', :using => :command_down) cd_and_run dir, command end def cd_and_run(dir, command = nil) run "clear; cd #{dir.shellescape}" run command end def run(command) command = command.shelljoin if command.is_a?(array) if command && !command.empty? terminal.do_script(command, :in => current_window.tabs.last) end end end terminal.new do |t| t.tab dir.pwd, argv.length == 1 ? argv.first : argv end ruby 1.9が必要です。または、他の人が要求する前にrequire 'rubygems'を追加する必要があります。gem rb-appscriptのインストールを忘れないでください。このスクリプトにdt(dupタブ)という名前を付けたので、dtを実行して同じフォルダーでタブを開くか、dt lsを実行してlsコマンドを実行することができます。