如何解决bash中目录的完整性
我发现我的教授在一次旧考试中提出了这项练习。
”使用bash编写脚本,该脚本将字符串与作为函数参数传递的目录匹配,以便如果目录内容未更改,则再次在同一目录上运行脚本会使字符串相同。
因此,我考虑过将目录压缩到一个归档文件中,并提取其md5摘要。问题是,如果您重新运行脚本,则摘要将更改。为什么?
我附上我的尝试。
gridOptions
解决方法
路径名称具有相关性
首先,使文件名规范。否则,当使用不同的路径名调用时,同一目录将引发不同的字符串。路径名本身成为“ same” 的一部分。然后教授dir
dir="( readlink -m "$1" )
[[ -d $dir ]] || exit 1
现在建立一个校验和并输出结果
tar cf - "$dir" | sha1sum | cut -d\ -f1
-j之类的任何压缩选项都会减慢该过程,但无济于事。 cut
命令删除了sha1sum
的前导文件名。
路径名不相关
如果路径名不相关,则将脚本更改为:
#!/usr/env bash
[[ -d $1 ]] || exit 1
tar cf - -C "$dir" . | sha1sum | cut -d\ -f1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。