惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - Bob-wei

Visual Studio 配置额外工具 Windows Terminal 等 CMakeList.txt Windows Terminal 配置文件 C# 7.2 中 In参数( in parameter )的性能比较 JavaScript 的 parseInt(x), parseFloat(x), Number(x), +x, ~~x, x>>>0, isNaN(x) 区别和结果 Windows Terminal 配置 git-bash,集成右键菜单,集成VSCode 恢复WIn10 2004的“要使用本计算机,用户必须输入用户名和密码”选项 plantuml server with math docker image aspnetcore singleton service in app.use Chrome 不跟随 macOS 系统主题改变深色模式 VSCode的浅色主题(Default Light+)侧边活动栏改为浅色 VSCode_Extensions C++ in VSCode 用户中心 - 博客园 C# 私有字段前缀 _ 的设置(VS2019, .editorconfig) dotnet 跨平台编译发布 重新调整动态vhdx占用的空间 通过git-bash一句话获得当前目录的全部csproj文件绝对路径 devdocs
[bash] 编写7zz函数替换7z压缩命令
Bob-wei · 2020-05-07 · via 博客园 - Bob-wei

安装 p7zip 然后将下面内容放到 ~/.zshrc 或者 ~/.bashrc

function 7zz() {
    # compress a direcotry to directory.7z
    # usage: 7zz path/to/directory [7z options]
    # returns: 0 - successful, 1 - argument error, 2 - not found 7z command
    local ok=$(command -v 7z >/dev/null 2>/dev/null && echo 'ok' || echo '')
    if [ "$ok" != "ok" ]; then
        echo 'not found 7z command, please install p7zip'
        return 2
    fi

    local dir="$1"
    local target="$(basename ${dir%/}.7z)"
    if [ ! -d "$dir" ]; then
        echo 'argument error\nusage: 7zz path/to/directory [7z options]'
        return 1
    fi
    if [ -f "$target" ]; then
        while true; do
            printf "Are you sure overwrite file \"$target\"? [y/N] "
            read yn
            case $yn in
            [yY][eE][sS] | [yY]) break ;;
            [nN][oO] | [nN] | "") return 0 ;;
            *) ;;
            esac
        done
        rm -f "$target"
    fi

    shift
    7z a -mx=9 -xr\!.DS_Store "$@" "$target" "$dir"
}

然后打开新会话或者重新载入配置文件

source ~/.zshrc

或者

source ~/.bashrc

命令格式:

7zz 目录 [7z的参数]

例子1:压缩 abc 目录为 abc.7z

7zz abc

例子2: 压缩vscode的扩展目录,并且排除cocos扩展,重命名为vscode_extensions.7z

7zz ~/.vscode/extensions -xr\!cocos-creator -xr\!cocos-debug && mv {,vscode_}extensions.7z