Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

RubyのワンライナーでWebサーバを起動する

参考にさせていただいたサイト
コマンド1つで今すぐWebサーバを起動させるためのワンライナー(Ruby or Python) - RX-7乗りの適当な日々
http://d.hatena.ne.jp/rx7/20090812/p1

$ ruby -rwebrick -e 'WEBrick::HTTPServer.new({:DocumentRoot => "./", :Port => 10080}).start'

けど、これまたあのOSだとエラーになる。

それらのシェルではシングルクォートでくくられた部分をひとかたまりとみなし,その中身についてシェルに対する指定としては解釈しないためです。しかし,cmd.exeはそれらのシェルとは異なり,シングルクォートに対する特別扱いは存在しません。そのため,上記のようなエラーになってしまいます。

http://gihyo.jp/dev/serial/01/ruby/0010

なので、Windowsだとシングルクォートにする。

$ ruby -rwebrick -e "WEBrick::HTTPServer.new({:DocumentRoot => './', :Port => 10080}).start"
[2011-05-31 21:06:13] INFO  WEBrick 1.3.1
[2011-05-31 21:06:13] INFO  ruby 1.9.2 (2010-08-18) [x64-mswin64_80]
[2011-05-31 21:06:13] WARN  TCPServer Error: not a socket file descriptor
[2011-05-31 21:06:13] INFO  WEBrick::HTTPServer#start: pid=800 port=10080