最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 系统运维 >
如何使用`Mask`工具?
CSDN发表于 2020-09-27 17:32 次浏览
今天为大家分享一篇关于`Mask`工具使用的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起来看看吧。

安装:核心工具

主要使用工具
mask

在 Mac 中的安装方式为


  • 1brew install mask

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

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

在 Mac 中的安装方式为


  • 1brew install just

相关代码为


  • 1_default:
  • 2    mask mask-choose

运行方式为


  • 1just

安装:交互选择工具

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


  • 1brew install choose-gui

安装:文本处理工具

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


  • 1brew install gawk

代码位置

本页面

实现默认任务效果代码

发表

Mask工具使用示例

任务

mask-choose

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


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

mask-SubCommands

提取本文档中的子命令


  • 1mask --help | mask mask-SubCommands-extractor

mask-SubCommands-visible

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


  • 1mask mask-SubCommands | mask mask-SubCommand-visible-filter

mask-SubCommand-names

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


  • 1mask mask-SubCommands | mask mask-SubCommand-names-extractor

mask-SubCommand-visible-names

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


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

mask-SubCommands-extractor

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

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

mask-SubCommand-visible-filter

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

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

mask-SubCommand-names-extractor

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

  2. {
        print $1;
    }
    

mask-draft-dir

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

  1. 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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐