MSYS シェル上で irb.bat が実行できない
http://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ から ruby-1.8.5-p12-i386-mswin32.zip をとってきて D:\Ruby にコピーし、D:\Ruby\bin に PATH を通したのですが、なぜか MSYS のシェル上からだと irb.bat が実行できませんでした。
(エラーメッセージ) /d/Ruby/bin/irb.bat: @echo: command not found /d/Ruby/bin/irb.bat: line 20: syntax error near unexpected token `IRB.start(__FILE__)' /d/Ruby/bin/irb.bat: line 20: ` IRB.start(__FILE__)'
どうも MSYS のシェルが .bat ファイルをうまく処理できない ("@echo: command nod found" というメッセージから推測) ようなので、irb.bat の ruby スクリプト部分
require "irb" if __FILE__ == $0 IRB.start(__FILE__) else # check -e option if /^-e$/ =~ $0 IRB.start(__FILE__) else IRB.setup(__FILE__) end end
を抜き出して _irb.rb として保存し、これを irb という名前のシェルスクリプトから呼び出すようにしました。
シェルスクリプト irb を PATH の通ったところに置いておけば、MSYS から "irb" というコマンドで irb を起動することができます。