Shell 脚本 - 测试目录是否存在于当前目录或父/祖先目录中
我使用以下代码来检测当前目录中是否存在文件夹 .hg
。如果不存在,则该函数返回:
if [ ! -d ".hg" ]; then
return
fi
如何修改它以检查 .hg
是否存在于当前目录或父/祖先目录中?我想如果它不是像 -d
这样的选项,那么解决方案将是递归的。
I am using the following code to detect if the folder .hg
exists in the current directory. If it doesn't, then the function returns:
if [ ! -d ".hg" ]; then
return
fi
How can I modify this to check if .hg
exists either in the current directory or in a parent / ancestor directory? I'd imagine if it isn't an option such as -d
then the solution is going to be recursive.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我只是在这个问题上作弊:
只要您位于水银树内的某个位置,
hg status
就应该成功。I'd just cheat on this one:
hg status
should be successful as long as you are somewhere inside a mercurial tree.这将在前面的目录中搜索 d 指定的目录
This searches the preceding directories for the directory specified by d
另一种方法是将测试包装在 while 循环中,该循环一直持续到当前工作目录为 /,并在检查 .hg 目录是否存在后转到 cd ..。
Another way to do this would be to wrap the test in a while loop that continues until the current working directory is /, and to cd .. after checking for the presence of the .hg directory.