You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Bash压缩函数终端无响应,求实现多文件夹批量压缩

问题原因

你的自定义函数名和系统自带的zip命令完全重名了,函数内部调用zip时会无限递归调用自己,这就是终端卡住的根本原因。

修正后的函数

把.bashrc里的函数替换成下面的版本,既解决递归问题,又支持多文件夹批量压缩:

zip() {
  # 遍历所有传入的文件夹参数
  for dir in "$@"; do
    # 用command强制调用系统原生zip命令,避免递归
    command zip -rvZ store "${dir}.zip" "$dir"
  done
}
关键说明
  • command zip:明确指定调用系统自带的zip工具,不会触发自定义函数的递归
  • for dir in "$@":逐个处理你传入的每个文件夹参数,实现多文件夹批量生成对应压缩包
  • 保留了你原来的-rvZ store参数:递归压缩子目录、显示详细过程、使用无压缩的存储模式
使用方法
  • 单文件夹压缩:zip folder1 → 生成folder1.zip
  • 多文件夹批量压缩:zip folder1 folder2 folder3 → 分别生成folder1.zip、folder2.zip、folder3.zip
生效方式

修改完.bashrc后,执行source ~/.bashrc让新函数立即生效。

内容的提问来源于stack exchange,提问作者NyanCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:55:44