【问题标题】:Deploy breaks when running 'find' on a directory with space in between name在名称之间有空格的目录上运行“查找”时部署中断
【发布时间】:2015-07-27 05:32:17
【问题描述】:
我们最近遇到了一个问题,其中使用了带有空格的目录之一,并且当我们在目录上递归运行 find 时。它会在找到有空间的目录时中断,并且不会继续进行部署。下面是 cap deploy 的截图:-
* 执行“sudo -p 'sudo 密码:' find /srv/vhosts/static_cap -type d | xargs sudo -p 'sudo 密码:'chmod -R 755”
服务器:[“web00.xx.com”]
[web00.xx.com] 执行命令
[web01.xx.com] 执行命令
** [out :: web00.xx.com]
** [out :: web01.xx.com]
** [out :: web00.xx.com] chmod:无法访问 `/srv/vhosts/static_cap/public_uploads/xx/0.9/90/Color'
** [out :: web00.xx.com] : 没有这样的文件或目录
** [out :: web00.xx.com] chmod: 无法访问 `Id': 没有这样的文件或目录
命令在 1133 毫秒内完成
失败:“sh -c 'sudo -p '\\''sudo 密码:'\\'' find /srv/vhosts/static_cap -type d | xargs sudo -p '\\''sudo 密码:'\\' web00.buzzaa.com 上的“chmod -R 755”
它试图运行 find 的目录看起来像这样:-
xx@web00:~$ ls -ld /srv/vhosts/xx_cap/xx/0.9/90/Color\Id/
drwxr-xr-x+ 2 root webadmins 4096 Jun 11 07:26 /srv/vhosts/xx_cap/xx/0.9/90/Color Id/
有没有办法可以将此目录名称作为一个而不是在正则表达式字符处中断?
【问题讨论】:
标签:
regex
deployment
find
capistrano