如何解决shellscript:检查用户输入路径是否在另一个路径中 问题:背景:我尝试过的:
问题:
如何在 shellscript 中验证给我的路径(尚未创建)是否在已知目录中?
背景:
我想为 <img/>
编写一个服务器端脚本,它会创建一个裸仓库。我有 git-shell
用户的主目录,其中包含一些配置,例如 ssh 密钥、gitweb 配置和 git
目录。还有 git-shell-commands
目录,其中包含所有存储库。
上述脚本允许您在使用 git-shell 时创建新的存储库。您可以提供路径(对于子目录中的项目)或仅提供名称(对于顶级项目)。然后脚本创建该目录并初始化裸仓库。
但是,我注意到当您提供路径 ~/repos
作为项目名称时,您可以转义 ../escaped.git
目录并在 ~/repos
用户具有写入权限的任何位置创建一个裸仓库.我不想那样。
我尝试过的:
这是我目前所拥有的:
git
如果我然后运行 #!/bin/sh
# File: create-repo
mkdir -p ~/repos/$1;
git init --bare ~/repos/$1;
,我显然在不应该的地方创建了一个存储库。在这种情况下我怎么能失败,或者(甚至更好)只是省略路径的 create-repo ../escaped
部分?此外,除了使用 ../
之外,还有其他方法可以逃避此限制吗? (例如,使用 ..
不起作用,提供绝对路径也不起作用。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。