主要使用工具
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
工具使用範例
使用互動選擇工具
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 --help | mask mask-SubCommands-extractor
提取本檔案中互動選擇可見的子命令,描述的開頭使用
(hidden)
標記互動選擇中不可見的子命令,在mask-SubCommand-visible-filter
中過濾
mask mask-SubCommands | mask mask-SubCommand-visible-filter
本檔案中的子命令的名稱列表
mask mask-SubCommands | mask mask-SubCommand-names-extractor
本檔案中互動選擇可見的子命令的名稱列表
mask mask-SubCommands-visible | mask mask-SubCommand-names-extractor
(hidden) 從
mask
的幫助中提取子命令的awk
指令碼,在互動選擇列表中不可見
{
if ("SubCommands" == section)
{
sub(/^[ ]+/, "");
print;
}
}
{
if ("SUBCOMMANDS:" == $0)
section = "SubCommands"
}
(hidden) 過濾描述的開頭使用
(hidden)
標記互動選擇中不可見的子命令的awk
指令碼,在互動選擇列表中不可見
{
if ("(hidden)" != $2)
print;
}
(hidden) 提取子命令名稱的
awk
指令碼
{
print $1;
}
個人本地使用的指令碼,讀者請忽略
jump cd mask-draft
個人本地使用的指令碼,讀者請忽略
root_dir=`pwd`
code_workspace="${root_dir}/mask.code-workspace"
if [ -f "${code_workspace}" ]; then
code "${code_workspace}";
else
code "${root_dir}";
fi