Seb*_*ian 93 ruby command-line
有人可以给我一个提示,如何从命令行用ruby提供当前目录?如果我可以有一些系统范围的配置(例如mime-types)并且只是从每个目录启动它,那就太好了.
Dan*_*rez 199
最简单的方法(感谢Aaron Patterson/n0kada):
ruby -run -e httpd . -p 9090
Run Code Online (Sandbox Code Playgroud)
替代,更复杂的方式:
ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 9090, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
Run Code Online (Sandbox Code Playgroud)
即使是第一个命令也很难记住,所以我只是在我的.bashrc:
function serve {
port="${1:-3000}"
ruby -run -e httpd . -p $port
}
Run Code Online (Sandbox Code Playgroud)
它默认为端口3000上的当前目录提供服务,但您也可以指定端口:
~ $ cd tmp
~/tmp $ serve # ~/tmp served on port 3000
~/tmp $ cd ../www
~/www $ serve 5000 # ~/www served on port 5000
Run Code Online (Sandbox Code Playgroud)
Mic*_*ohl 21
我从未见过如此紧凑的东西
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
对于Ruby,Chris的回答在Google上出现了好几次.
KAR*_*ván 21
ruby -run -e httpd . -p 5000
Run Code Online (Sandbox Code Playgroud)
您也可以通过添加来设置绑定地址 -b 127.0.0.1
适用于Ruby 1.9.2及更高版本.
小智 5
require 'webrick'
include WEBrick
s = HTTPServer.new(:Port => 9090, :DocumentRoot => Dir::pwd)
trap("INT"){ s.shutdown }
s.start
Run Code Online (Sandbox Code Playgroud)