Ruby on rails 这些批处理文件之类的命令是否有效?

Ruby on rails 这些批处理文件之类的命令是否有效?,ruby-on-rails,ruby,rake,Ruby On Rails,Ruby,Rake,我正在阅读MichaelHartl的RubyonRails教程,和许多编程教程一样,他让我使用命令行命令,例如 bundle install rake db:migrate 我只是想知道这些是什么类型的命令。我读了一些关于批处理文件的内容,从我读到的内容来看,这些似乎就是我读到的批处理文件 db:migrate是一项rake任务 bundle安装与Rake相同,Rake是一个Ruby程序,采用命令行参数 不确定SASS版本的引导,但最终不可能只是一个批处理文件 您可以通过查看它们来了解它们是什

我正在阅读MichaelHartl的RubyonRails教程,和许多编程教程一样,他让我使用命令行命令,例如

bundle install
rake db:migrate

我只是想知道这些是什么类型的命令。我读了一些关于批处理文件的内容,从我读到的内容来看,这些似乎就是我读到的批处理文件

db:migrate
是一项rake任务

bundle安装
与Rake相同,Rake是一个Ruby程序,采用命令行参数

不确定SASS版本的引导,但最终不可能只是一个批处理文件

您可以通过查看它们来了解它们是什么(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)

db:migrate
是一项rake任务

bundle安装
与Rake相同,Rake是一个Ruby程序,采用命令行参数

不确定SASS版本的引导,但最终不可能只是一个批处理文件

您可以通过查看它们来了解它们是什么(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)

在Windows上,您实际上正在执行批处理文件,因为Windows不支持shebang。例如,捆绑包的批处理文件如下:

@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的情况下执行这些命令。

在Windows上,您实际上是在执行批处理文件,因为Windows不支持shebang。例如,捆绑包的批处理文件如下:

@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的情况下执行。

谢谢Dave。我能通过我写的以.bat结尾的东西来判断批处理文件吗?@AlexMelville如果你在Windows机器上,是的。如果您使用的是OS X/Unix,则命令可能以
.sh
结尾,或者什么都没有。谢谢Dave。我能通过我写的以.bat结尾的东西来判断批处理文件吗?@AlexMelville如果你在Windows机器上,是的。如果您使用的是OS X/Unix,那么这些命令可能以
.sh
结尾,或者什么都没有。