2014-02-07 37 views
2

我運行Capistrano的(V3)部署到我的生產和輸出的一部分如下:的/ usr/bin中/ env和Capistrano的3次失敗部署

[dd854ece] Running /usr/bin/env [ -L /home/deploy/apps/ap_production/releases/20140207003504/tmp/cache ] on myserver (redacted) 
[dd854ece] Command: [ -L /home/deploy/apps/ap_production/releases/20140207003504/tmp/cache ] 
[dd854ece] Finished in 0.153 seconds with exit status 1 (failed). 

我不明白到底是怎麼回事。 env會打印設置的變量,並且它可以用於在新環境中運行命令,但最後,它也可以用來啓動正確的可執行文件。

那麼它應該啓動的命令/可執行文件是什麼?方括號是什麼?

謝謝。

+0

好的,方括號是一個bash測試構造(man test?)。但這並不能解釋這裏發生了什麼。更多研究。 – codenoob

+0

我在[Google網上論壇帖子]中找到以下內容(https://groups.google.com/forum/#!topic/capistrano/08cxgLwUeIo)測試命令(man(1)測試)被別名爲[['in大多數系統,這就是當你看到shell腳本與'if [-e somefile]'(例如,測試某個文件是否存在)時你看到的那樣「 」這正是我們在Capistrano所做的,失敗)'表示該目錄和symlink不存在(即它不是一個目錄,或不是一個符號鏈接)「。不幸的是,那篇文章是我的問題的關鍵,但我不明白;目錄存在。 – codenoob

+0

也許有一個失蹤,如果? – codenoob

回答

2

查看我的評論。顯然,它確實是它應該做的。