对于Linux,尤其是bash脚本,我是新手。
基本上我想做的是(在某些混合bash /伪代码中)
for entry in `svn list https://svn.xxx.../projects`
if already checked out
then
svn up https://svn.xxx.../projects/$entry some/local/path
else
svn co https://svn.xxx.../projects/$entry some/local/path
fi
... other stuff ...
done
我的问题是,遗憾的是我们的一些项目名称中包含空格。 我设法组装了“入口”部分,但在执行subversion命令时,url中的空格被转义。 E.g。
svn co "https://svn.xxx.../projects/$myassembly" some/local/path
变为
svn co https://svn.xxx.../projects/Project%20With%20Space some/local/path
并且无法找到网址。
如果有任何帮助,我将不胜感激。感谢
答案 0 :(得分:1)
使用while
循环而不是for
循环和引号扩展变量。使用重定向到while
。
done
循环
while read -r entry
do
if already checked out
then
svn up "https://svn.xxx.../projects/$entry" some/local/path
else
svn co "https://svn.xxx.../projects/$entry" some/local/path
fi
... other stuff ...
done < <(svn list https://svn.xxx.../projects)