我想以递归方式清理/重置目录中的所有git存储库。
如果我执行以下命令,它按预期工作:
find . -name .git -type d -execdir sh -c "git clean -xdf" \;
我在将命令转换为git别名时遇到问题:
xxx = "!f() { find . -name .git -type d -execdir sh -c "git clean -xdf" ; ; }; f; "
我试图解决syntax error near unexpected token
;'`这些错误,但是我走了一圈没有成功。
请帮我创建别名。 10X
答案 0 :(得分:4)
你走了:
xxx = "!f() { find . -name .git -type d -execdir git clean -xdf \\; ; }; f"
一些事情:
sh -c
中包装命令,您可以直接使用\
命令末尾的\;
中转义find
,写为:\\;