`Mask`工具使用示例

1 篇文章 0 订阅
1 篇文章 0 订阅

安装:核心工具

主要使用工具
mask

Mac 中的安装方式为

brew install mask

安装:实现默认任务效果所需工具

mask
0.9.0
不支持默认任务,所以暂时使用
Just

Mac 中的安装方式为

brew install just

相关代码为

_default:
    mask mask-choose

运行方式为

just

安装:交互选择工具

示例代码中使用了交互选择工具 choose-gui,在 Mac 中的安装方式为

brew install choose-gui

安装:文本处理工具

示例代码中使用 awk 处理文本,在 Mac 中的安装方式为

brew install gawk

代码位置

本页面

实现默认任务效果代码

发表

Mask工具使用示例

任务

mask-choose

使用交互选择工具 choose-gui 选择本文档中可以执行的命令

choose_recipe=$(mask mask-SubCommands-visible | /usr/local/opt/choose-gui/bin/choose)
echo "Choose Recipe: ${choose_recipe}"
task=$(echo "${choose_recipe}" | mask mask-SubCommand-names-extractor)
echo "Task : ${task}"
mask "${task}"

mask-SubCommands

提取本文档中的子命令

mask --help | mask mask-SubCommands-extractor

mask-SubCommands-visible

提取本文档中交互选择可见的子命令,描述的开头使用 (hidden) 标记交互选择中不可见的子命令,在 mask-SubCommand-visible-filter 中过滤

mask mask-SubCommands | mask mask-SubCommand-visible-filter

mask-SubCommand-names

本文档中的子命令的名称列表

mask mask-SubCommands | mask mask-SubCommand-names-extractor

mask-SubCommand-visible-names

本文档中交互选择可见的子命令的名称列表

mask mask-SubCommands-visible | mask mask-SubCommand-names-extractor

mask-SubCommands-extractor

(hidden) 从 mask 的帮助中提取子命令的 awk 脚本,在交互选择列表中不可见

{
    if ("SubCommands" == section)
    {
        sub(/^[ ]+/, "");
        print;
    }
}
{
    if ("SUBCOMMANDS:" == $0)
        section = "SubCommands"
}

mask-SubCommand-visible-filter

(hidden) 过滤描述的开头使用 (hidden) 标记交互选择中不可见的子命令的 awk 脚本,在交互选择列表中不可见

{
    if ("(hidden)" != $2)
        print;
}

mask-SubCommand-names-extractor

(hidden) 提取子命令名称的 awk 脚本

{
    print $1;
}

mask-draft-dir

个人本地使用的脚本,读者请忽略

jump cd mask-draft

code

个人本地使用的脚本,读者请忽略

    root_dir=`pwd`
    code_workspace="${root_dir}/mask.code-workspace"
    if [ -f "${code_workspace}" ]; then
        code "${code_workspace}";
    else
        code "${root_dir}";
    fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值