安装:核心工具
主要使用工具
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