我正在阅读Michael Hartl的Ruby On Rails教程,并且按照许多编程教程的惯例,他让我使用命令行命令,例如
bundle install
rake db:migrate
我只是想知道它们是什么类型的命令。我已经阅读了一些关于批处理文件的内容,从我读过的内容看起来似乎是我读过的批处理文件。
答案 0 :(得分:2)
db:migrate
是一项佣金任务。
bundle install
与Rake是一个Ruby程序,采用命令行参数。
不确定SASS版本的bootstrap,但它最终不太可能只是一个批处理文件。
你可以通过查看它们来了解它们是什么(好吧,db:migrate是一项任务,所以你必须做更多的工作来实现,你实际上正在运行 rake
,在Unix下是一个shebanged Ruby脚本;附加。我不知道它们在Windows下是什么。)
Rake是一个Ruby程序,由shebang("#!"
)之后的程序执行,即Ruby解释器。
#!/Users/dave/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
require 'rubygems'
version = ">= 0"
if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
version = $1
ARGV.shift
end
gem 'rake', version
load Gem.bin_path('rake', 'rake', version)
答案 1 :(得分:1)
在Windows上,您实际上正在执行批处理文件,因为Windows没有shebang支持。例如,bundle的批处理文件是:
@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "C:/Ruby193/bin/bundle" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
如果您在安装了Ruby的任何地方办理登机手续并进入bin目录,您将看到所有Ruby命令以及相应的批处理文件,无需手动调用ruby即可执行这些命令。