我试图在使用Vagrant的Ubuntu VM上安装dnvm。在我vagrantfile我有一个shell脚本,其中包括这行:
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source /root/.dnx/dnvm/dnvm.sh
其下载并执行dnvminstall.sh
它安装并提出dnvm.sh
在/root/.dnx/dnvm。 source /root/.dnx/dnvm/dnvm.sh
部分似乎没有工作,因为当我ssh进入机器,我需要手动运行dnvm工作。 所以问题是,为什么在配置期间不执行source /root/.dnx/dnvm/dnvm.sh
?
Here是整个流浪文件。为什么在使用Vagrant shell脚本配置Ubuntu VM时不执行脚本?
回答
您刚才在脚本中输入/usr/local/src/libuv-1.4.2
。
然后你下载dnvm到该目录使用curl,然后试图运行该文件,如果它是在/root/.dnx/dnvm/dnvm.sh
,当它实际上是地方下/usr/local/src/libuv-1.4.2
你只需要CD回/root
使用前卷曲得到dnvm。所以...
cd /root
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source /root/.dnx/dnvm/dnvm.sh
希望这有助于!
不过,'dnvminstall.sh'脚本把'dnvm.sh'放在'/ root/.dnx/dnvm /'不管它从哪里执行。我会更新这个问题来澄清。 – Christian
'curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH = dev sh && source/root/.dnx/dnvm/dnvm.sh'对我来说很奇怪。所以dnvminstall.sh正在通过管道传送给sh。那么如果它返回非零,那么&&的后半部分会被执行?所以只有第一部分错误才会执行源代码部分? (非零是bash中的错误?)也许我读错了。 – tobuslieven
好吧,我抬头看着&& bash,我读错了。它更像如下:所以dnvminstall.sh正在通过管道传输。然后如果它返回零,&&后的部分被执行。所以源部分只在第一部分没有错误的情况下执行。所以我想dnvminstall.sh正在返回一个错误。从源头上看,似乎有一些机会可以做到这一点。 – tobuslieven
- 1. 启动Vagrant VM并通过shell脚本启动Node.js脚本
- 2. 在ubuntu中执行shell脚本
- 3. Vagrant配置脚本在VM完全启动之前运行?
- 4. 在shell脚本中执行php脚本?
- 5. 执行shell脚本
- 6. 执行shell脚本
- 7. 在Ubuntu中执行python脚本默认为shell而不是bash
- 8. user_create.sh Ubuntu shell脚本
- 9. 为什么我无法使用执行shell脚本。 ./test.sh?
- 10. 在Python中使用Hudson配置“执行shell”脚本
- 11. 使用Vagrant shell脚本安装Passenger&Nginx
- 12. shell脚本的Ruby脚本执行
- 13. 如何与Vagrant shell配置脚本进行交互?
- 14. 为什么rev com脚本在shell脚本中不工作
- 15. shell脚本为cron执行多个shell脚本
- 16. 为什么我的bash shell脚本不能一致执行?
- 17. 从mac执行Shell脚本
- 18. 执行n行shell脚本
- 19. 未执行shell脚本
- 20. 从shell脚本执行SQL
- 21. 从shell执行R脚本
- 22. 为什么Groovy脚本试图以shell脚本运行?
- 23. 如何在Ubuntu中为shell脚本创建可执行文件?
- 24. 为什么ncat -exec使用shell脚本而不使用perl脚本?
- 25. 什么呢在shell脚本
- 26. Ubuntu驱动器分配和shell脚本
- 27. 难执行shell脚本
- 28. 无法在Cygwin来执行shell脚本作为KornShell脚本
- 29. 在shell脚本中不执行别名
- 30. 从shell脚本执行symbolicatecrash
我们可以看到VagrantFile吗? – tomasyany
是的,在问题 – Christian
中增加了一个链接。所以我曾经有过类似的问题,并不是脚本没有执行,而是在不同的会话中执行。我不知道你的'dnvm.sh'脚本是做什么的,但是可能发生的事情是整个事情在'provisioning'会话中执行,然后当你通过'ssh'创建一个新会话时,它就像它从未执行过。这完全取决于它的功能。您可以通过在'dnvm.sh'上放置一些打印文件功能来检查它是否被实际执行。 – tomasyany