我試圖在使用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