这有效:
vagrant ssh
cd /vagrant && grunt build
这不是:
vagrant ssh -c 'cd /vagrant && grunt build'
(退出bash: grunt: command not found
)
为什么?
我问的原因是我有一个将脚本部署到GitHub页面的shell脚本,我想在开始时添加一个构建步骤,以便在部署之前获得新的构建。
我还尝试编写一个shell脚本vagrant_build.sh
,如:
cd /vagrant
grunt build
让vagrant用vagrant ssh -c 'bash /vagrant/vagrant_build.sh'
运行它,但它仍然无法找到grunt
。
文档说vagrant ssh -c COMMAND
只运行一个命令,我是否需要从字面上理解100%?我把它解释为“你可以在终端的一行中放入任何东西”。
答案 0 :(得分:5)
因为grunt
不在vagrant
的路径中。所以给它绝对的路径。
cd /vagrant && /path/to/grunt build