共计 2234 个字符,预计需要花费 6 分钟才能阅读完成。

本来一开始是打算用 python 的,但一想 python 写保存路径,到最后还是放弃了,因为 python 的目录写法,终究逃不掉 Windows c:/xxx/、Mac  ~/xxxx/,这就造成了平台上的不适配,那我还不如索性写两份体验体验。

谈谈这次遇到的小问题,主要问题其实在注释上已经说明了,不过还是单拿出了,方便观看与讨论:

  • 发现 brew install p7zip > /dev/null 2>&1 运行效率较低,也算是个无心之举。跑代码测试的时候,我发现这种写法,明显感觉比 if 慢好多,所以就 pass 掉了。
  • 在 Mac 上,7z 并不支持验证 rar 压缩包密码;Mac 下面的 rar,也不支持 zip 的密码验证。这个是 p7zip 与 rar(两者都是 brew 安装)的实验结论。
  • 密码暴破没成功,没有输出 echo,主要是自己逻辑上出现了问题:break 之后又执行了常规的输出,定位代码处# echo "$?",需要外部使用变量来固化状态值,再做判断(类似批处理的延迟变量)。

细节方面就是:dos2unix,关于 LF 格式和 CRLF 格式的 TXT 文件了,统一处理,问题不大。

代码本地测试效果

【shell】压缩包密码暴破脚本

在线测试效果图,顺带还发现了个有趣的现象:特权提升的 $username,由自己的本地用户名,变成了“root”

【shell】压缩包密码暴破脚本

【shell】压缩包密码暴破脚本

与 Windows 版本的效果

【shell】压缩包密码暴破脚本

整体来说,由于系统的差异明显,以及 batch、shell 的实现各有差异,殊途同归了,算是。可以粗糙理解为类似《富士山下》、《爱情转移》粤语歌与普通话的两种唱法。

附源码:https://github.com/hoochanlon/ihs-simple/blob/main/d-shell/7z_rar_sensei.sh

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。