我有deploy.rb文件,其中包含以下代码:
after :deploy do
run "if [ -d #{rails_root}/tmp/pids ]; then mkdir #{rails_root}/tmp/pids && chmod 0777 #{rails_root}/tmp/pids; fi"
end
有麻烦,你可以看到@终端截图:
同样的问题是日志目录,但它只是从git repo克隆(通过capistrano)。当我克隆项目manualy时 - 日志目录运行良好。
两个问题:
答案 0 :(得分:1)
一些建议:
man test
显示
-d file True if file exists and is a directory.
所以你可能意味着如果[! -d xxx / tmp / pids];
为了更容易试用,只需在临时目录中运行shell命令:
if [ ! -d xxx/tmp/pids ]; then mkdir xxx/tmp/pids && chmod 0777 xxx/tmp/pids; fi
如果路径中的dirs不存在,则mkdir失败 - 使用mkdir -p
if [ ! -d xxx/tmp/pids ]; then mkdir -p xxx/tmp/pids && chmod 0777 xxx/tmp/pids; fi
应该按照你的意图行事。
(截图非常难以解读。如果您想获得有关文件类型的更多信息,请使用ls -l
而不是复制文本输出,而不是主要显示背景图像的屏幕截图...)< / p>