【问题标题】:Start Rails server on Vagrant using .bat使用 .bat 在 Vagrant 上启动 Rails 服务器
【发布时间】:2013-04-13 02:12:35
【问题描述】:

我在 Windows 上使用 Vagrant,所以我需要许多命令提示符才能执行一些基本操作 - 一个用于 Git,另一个用于 rails server,第三个用于测试等。

我想制作用于启动 Rails 服务器和运行测试的 .bat 文件。

所以,我创建了包含此内容的 .bat 文件(大部分行都是从 git-cmd.bat 复制的):

@rem Do not use "echo off" to not affect any child calls.
@setlocal

@rem Get the abolute path to the current directory, which is assumed to be the
@rem Git installation root.
@for /F "delims=" %%I in ("%~dp0") do @set git_install_root=%%~fI
@set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH%

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

@set PLINK_PROTOCOL=ssh

D:
@cd D:\Documents\GitHub\blog
@start %COMSPEC%

vagrant ssh -c "cd /vagrant && rails s"

它启动服务器并立即停止它。之后它关闭窗口。此外,它正在打开额外的命令提示符窗口。这是为什么呢?

如何让它启动服务器并保持打开状态?我试过pause/waitcmd /k file.bat,但没有成功。

理想情况下,我会有 4/5 个 .bat 文件:vagrant_up.bat、vagrant_halt.bat、rails_server.bat(或 rails_start.bat 和 rails_stop.bat)和 rake_test.bat。这可能吗?

【问题讨论】:

    标签: ruby-on-rails batch-file vagrant


    【解决方案1】:

    这是打开额外的窗口

    @start %COMSPEC%
    

    不知道 vagrant,但我怀疑这行应该是这样的,或者如果 Vagrant 是 exe,则完全放弃 %comspec% 部分。

    @start "" %COMSPEC% vagrant ssh -c "cd /vagrant && rails s"
    

    或者可能是这个意思:

    @start "" %COMSPEC% -c "cd /vagrant && rails s"
    @vagrant ssh
    

    【讨论】:

    • 很好,谢谢。我刚刚删除了 %COMSPEC% 部分,它运行良好。欢迎来到 StackOverflow :)
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 2020-03-27
    • 2015-04-15
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多