Files
task/zh-Hans/api/index.html
2023-06-14 12:13:00 +00:00

22 lines
67 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-Hans" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-api_reference">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">API 参考 | Task</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/zh-Hans/api/"><meta data-rh="true" name="docusaurus_locale" content="zh-Hans"><meta data-rh="true" name="docsearch:language" content="zh-Hans"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API 参考 | Task"><meta data-rh="true" name="description" content="命令行"><meta data-rh="true" property="og:description" content="命令行"><link data-rh="true" rel="icon" href="/zh-Hans/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/zh-Hans/api/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/api/" hreflang="en-US"><link data-rh="true" rel="alternate" href="https://taskfile.dev/fr-FR/api/" hreflang="fr-FR"><link data-rh="true" rel="alternate" href="https://taskfile.dev/pt-BR/api/" hreflang="pt-BR"><link data-rh="true" rel="alternate" href="https://taskfile.dev/ru-RU/api/" hreflang="ru-RU"><link data-rh="true" rel="alternate" href="https://taskfile.dev/es-ES/api/" hreflang="es-ES"><link data-rh="true" rel="alternate" href="https://taskfile.dev/zh-Hans/api/" hreflang="zh-Hans"><link data-rh="true" rel="alternate" href="https://taskfile.dev/api/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4RT25NXQ7N"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-4RT25NXQ7N",{anonymize_ip:!0})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Task" href="/zh-Hans/opensearch.xml"><link rel="stylesheet" href="/zh-Hans/assets/css/styles.fdf595d4.css">
<link rel="preload" href="/zh-Hans/assets/js/runtime~main.d35b6cf4.js" as="script">
<link rel="preload" href="/zh-Hans/assets/js/main.118e5227.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/zh-Hans/"><div class="navbar__logo"><img src="/zh-Hans/img/logo.svg" alt="Task Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/zh-Hans/img/logo.svg" alt="Task Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Task</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/zh-Hans/installation/">安装</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/zh-Hans/usage/">使用指南</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/zh-Hans/api/">接口</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/zh-Hans/donate/">赞助</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>简体中文 (85%)</a><ul class="dropdown__menu"><li><a href="/api/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en-US">English</a></li><li><a href="/fr-FR/api/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="fr-FR">Français (10%)</a></li><li><a href="/pt-BR/api/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="pt-BR">Português (16%)</a></li><li><a href="/ru-RU/api/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="ru-RU">Pусский (45%)</a></li><li><a href="/es-ES/api/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="es-ES">Español (3%)</a></li><li><a href="/zh-Hans/api/" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="zh-Hans">简体中文 (85%)</a></li><li><a class="dropdown__link" href="/zh-Hans/translate/">Help Us Translate</a></li></ul></div></div><div class="navbar__items navbar__items--right"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://fosstodon.org/@task" target="_blank" rel="me" class="navbar__item navbar__link">Mastodon<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="搜索"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">搜索</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="文档侧边栏" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/">主页</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/installation/">安装</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/usage/">使用指南</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/zh-Hans/api/">API 参考</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/zh-Hans/experiments/">Experiments</a><button aria-label="打开/收起侧边栏菜单「Experiments」" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/integrations/">集成</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/faq/">常见问题</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/styleguide/">风格指南</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/changelog/">更新日志</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/community/">社区</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/contributing/">贡献</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/translate/">翻译</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/releasing/">发布</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/taskfile-versions/">Taskfile 版本</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/zh-Hans/donate/">赞助</a></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/zh-Hans/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">API 参考</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><h1>API 参考</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="命令行">命令行<a href="#命令行" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><p>该命令的语法如下:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">task </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">--flags</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">tasks</span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">-- CLI_ARGS</span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>提示</div><div class="admonitionContent_S0QG"><p>如果 <code>--</code> 给出,所有剩余参数将被分配给一个特殊的 <code>CLI_ARGS</code> 变量</p></div></div><table><thead><tr><th>缩写</th><th>标志</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>-c</code></td><td><code>--color</code></td><td><code>bool</code></td><td><code>true</code></td><td>彩色输出。 默认开启。 设置为 <code>false</code> 或使用 <code>NO_COLOR=1</code> 禁用。</td></tr><tr><td><code>-C</code></td><td><code>--concurrency</code></td><td><code>int</code></td><td><code>0</code></td><td>限制并发运行的 task 数。 零意味着无限。</td></tr><tr><td><code>-d</code></td><td><code>--dir</code></td><td><code>string</code></td><td>工作目录</td><td>设置执行目录。</td></tr><tr><td><code>-n</code></td><td><code>--dry</code></td><td><code>bool</code></td><td><code>false</code></td><td>按运行顺序编译和打印 task而不执行它们。</td></tr><tr><td><code>-x</code></td><td><code>--exit-code</code></td><td><code>bool</code></td><td><code>false</code></td><td>传递 task 命令的退出代码。</td></tr><tr><td><code>-f</code></td><td><code>--force</code></td><td><code>bool</code></td><td><code>false</code></td><td>即使 task 是最新的也强制执行。</td></tr><tr><td><code>-g</code></td><td><code>--global</code></td><td><code>bool</code></td><td><code>false</code></td><td><code>$HOME/Taskfile.{yml,yaml}</code> 运行全局 Taskfile。</td></tr><tr><td><code>-h</code></td><td><code>--help</code></td><td><code>bool</code></td><td><code>false</code></td><td>显示 Task 使用情况。</td></tr><tr><td><code>-i</code></td><td><code>--init</code></td><td><code>bool</code></td><td><code>false</code></td><td>在当前目录创建一个新的 Taskfile.yml。</td></tr><tr><td><code>-I</code></td><td><code>--interval</code></td><td><code>string</code></td><td><code>5s</code></td><td>使用 <code>--watch</code> 设置不同的观察间隔,默认为 5 秒。 这个字符串应该是一个有效的 <a href="https://pkg.go.dev/time#ParseDuration" target="_blank" rel="noopener noreferrer">Go Duration</a></td></tr><tr><td><code>-l</code></td><td><code>--list</code></td><td><code>bool</code></td><td><code>false</code></td><td>列出当前文件的全部 task 及对应描述。</td></tr><tr><td><code>-a</code></td><td><code>--list-all</code></td><td><code>bool</code></td><td><code>false</code></td><td>列出无论有没有描述的所有 task。</td></tr><tr><td></td><td><code>--sort</code></td><td><code>string</code></td><td><code>default</code></td><td>Changes the order of the tasks when listed.<br><code>default</code> - Alphanumeric with root tasks first<br><code>alphanumeric</code> - Alphanumeric<br><code>none</code> - No sorting (As they appear in the Taskfile)</td></tr><tr><td></td><td><code>--json</code></td><td><code>bool</code></td><td><code>false</code></td><td>查看 <a href="#json-%E8%BE%93%E5%87%BA">JSON 输出</a></td></tr><tr><td><code>-o</code></td><td><code>--output</code></td><td><code>string</code></td><td>在 Taskfile 中设置默认值或 <code>intervealed</code></td><td>设置输出样式:<!-- -->[<code>interleaved</code>/<code>group</code>/<code>prefixed</code>]<!-- --></td></tr><tr><td></td><td><code>--output-group-begin</code></td><td><code>string</code></td><td></td><td>在任务组输出前打印的消息模板。</td></tr><tr><td></td><td><code>--output-group-end</code></td><td><code>string</code></td><td></td><td>在任务组输出后打印的消息模板。</td></tr><tr><td></td><td><code>--output-group-error-only</code></td><td><code>bool</code></td><td><code>false</code></td><td>在退出码为 0 时忽略命令输出。</td></tr><tr><td><code>-p</code></td><td><code>--parallel</code></td><td><code>bool</code></td><td><code>false</code></td><td>并行执行命令行上提供的 task。</td></tr><tr><td><code>-s</code></td><td><code>--silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>禁用回显。</td></tr><tr><td><code>-y</code></td><td><code>--yes</code></td><td><code>bool</code></td><td><code>false</code></td><td>Assume &quot;yes&quot; as answer to all prompts.</td></tr><tr><td></td><td><code>--status</code></td><td><code>bool</code></td><td><code>false</code></td><td>如果任何给定 task 不是最新的,则以非 0 退出码退出。</td></tr><tr><td></td><td><code>--summary</code></td><td><code>bool</code></td><td><code>false</code></td><td>显示有关 task 的摘要。</td></tr><tr><td><code>-t</code></td><td><code>--taskfile</code></td><td><code>string</code></td><td><code>Taskfile.yml</code><code>Taskfile.yaml</code></td><td></td></tr><tr><td><code>-v</code></td><td><code>--verbose</code></td><td><code>bool</code></td><td><code>false</code></td><td>启用详细模式。</td></tr><tr><td></td><td><code>--version</code></td><td><code>bool</code></td><td><code>false</code></td><td>显示 Task 版本。</td></tr><tr><td><code>-w</code></td><td><code>--watch</code></td><td><code>bool</code></td><td><code>false</code></td><td>启用给定 task 的观察器。</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="退出码">退出码<a href="#退出码" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><p>Task 有时会以特定的退出代码退出。 These codes are split into three groups with the following ranges:</p><ul><li>一般错误 (0-99)</li><li>Taskfile 错误 (100-199)</li><li>Task 错误 (200-299)</li></ul><p>可以在下面找到退出代码及其描述的完整列表:</p><table><thead><tr><th>代码</th><th>描述</th></tr></thead><tbody><tr><td>0</td><td>成功</td></tr><tr><td>1</td><td>出现未知错误</td></tr><tr><td>100</td><td>找不到 Taskfile</td></tr><tr><td>101</td><td>尝试初始化一个 Taskfile 时已经存在</td></tr><tr><td>102</td><td>Taskfile 无效或无法解析</td></tr><tr><td>200</td><td>找不到指定的 task</td></tr><tr><td>201</td><td>在 task 中执行命令时出错</td></tr><tr><td>202</td><td>用户试图调用内部 task</td></tr><tr><td>203</td><td>有多个具有相同名称或别名的 task</td></tr><tr><td>204</td><td>一个 task 被调用了太多次</td></tr><tr><td>205</td><td>A task was cancelled by the user</td></tr></tbody></table><p>These codes can also be found in the repository in <a href="https://github.com/go-task/task/blob/main/errors/errors.go" target="_blank" rel="noopener noreferrer"><code>errors/errors.go</code></a>.</p><div class="theme-admonition theme-admonition-info alert alert--info admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>信息</div><div class="admonitionContent_S0QG"><p>When Task is run with the <code>-x</code>/<code>--exit-code</code> flag, the exit code of any failed commands will be passed through to the user instead.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="json-输出">JSON 输出<a href="#json-输出" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><p><code>--json</code> 标志与 <code>--list</code><code>--list-all</code> 标志结合使用时,将输出具有以下结构的 JSON 对象:</p><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;tasks&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;name&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token string" style="color:#C6105F">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;desc&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token string" style="color:#C6105F">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;summary&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token string" style="color:#C6105F">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;up_to_date&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token boolean" style="color:#005CC5">false</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;location&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;line&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token number" style="color:#005CC5">54</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;column&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token number" style="color:#005CC5">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;taskfile&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token string" style="color:#C6105F">&quot;/path/to/Taskfile.yml&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#6B6B6B;font-style:italic">// ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#005CC5">&quot;location&quot;</span><span class="token operator" style="color:#D73A49">:</span><span class="token plain"> </span><span class="token string" style="color:#C6105F">&quot;/path/to/Taskfile.yml&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="特殊变量">特殊变量<a href="#特殊变量" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><p>模板系统上有一些可用的特殊变量:</p><table><thead><tr><th>变量</th><th>描述</th></tr></thead><tbody><tr><td><code>CLI_ARGS</code></td><td>当通过 CLI 调用 Task 时,传递包含在 <code>--</code> 之后的所有额外参数。</td></tr><tr><td><code>TASK</code></td><td>当前 task 的名称。</td></tr><tr><td><code>ROOT_DIR</code></td><td>根 Taskfile 的绝对路径。</td></tr><tr><td><code>TASKFILE_DIR</code></td><td>包含 Taskfile 的绝对路径</td></tr><tr><td><code>USER_WORKING_DIR</code></td><td>调用 <code>task</code> 的目录的绝对路径。</td></tr><tr><td><code>CHECKSUM</code></td><td><code>sources</code> 中列出的文件的 checksum。 仅在 <code>status</code> 参数中可用,并且如果 method 设置为 <code>checksum</code></td></tr><tr><td><code>TIMESTAMP</code></td><td><code>sources</code> 中列出的文件的最大时间戳的日期对象。 仅在 <code>status</code> 参数中可用,并且如果 method 设置为 <code>timestamp</code></td></tr><tr><td><code>TASK_VERSION</code></td><td>Task 的当前版本。</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="环境变量">环境变量<a href="#环境变量" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><p>可以覆盖某些环境变量以调整 Task 行为。</p><table><thead><tr><th>环境变量</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>TASK_TEMP_DIR</code></td><td><code>.task</code></td><td>临时目录的位置。 可以相对于项目比如 <code>tmp/task</code> 或绝对如 <code>/tmp/.task</code><code>~/.task</code></td></tr><tr><td><code>TASK_COLOR_RESET</code></td><td><code>0</code></td><td>用于白色的颜色。</td></tr><tr><td><code>TASK_COLOR_BLUE</code></td><td><code>34</code></td><td>用于蓝色的颜色。</td></tr><tr><td><code>TASK_COLOR_GREEN</code></td><td><code>32</code></td><td>用于绿色的颜色。</td></tr><tr><td><code>TASK_COLOR_CYAN</code></td><td><code>36</code></td><td>用于青色的颜色。</td></tr><tr><td><code>TASK_COLOR_YELLOW</code></td><td><code>33</code></td><td>用于黄色的颜色。</td></tr><tr><td><code>TASK_COLOR_MAGENTA</code></td><td><code>35</code></td><td>用于洋红色的颜色。</td></tr><tr><td><code>TASK_COLOR_RED</code></td><td><code>31</code></td><td>用于红色的颜色。</td></tr><tr><td><code>FORCE_COLOR</code></td><td></td><td>强制使用颜色输出。</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="taskfile-schema">Taskfile Schema<a href="#taskfile-schema" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h2><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>version</code></td><td><code>string</code></td><td></td><td>Taskfile 的版本。 当前版本是 <code>3</code></td></tr><tr><td><code>output</code></td><td><code>string</code></td><td><code>interleaved</code></td><td>输出模式。 可用选项: <code>interleaved</code><code>group</code><code>prefixed</code></td></tr><tr><td><code>method</code></td><td><code>string</code></td><td><code>checksum</code></td><td>Taskfile 中的默认方法。 可以在 task 基础上覆盖。 可用选项:<code>checksum</code><code>timestamp</code><code>none</code></td></tr><tr><td><code>includes</code></td><td><a href="#include"><code>map[string]Include</code></a></td><td></td><td>要包含的其他 Taskfile。</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>一组全局变量。</td></tr><tr><td><code>env</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>一组全局环境变量。</td></tr><tr><td><code>tasks</code></td><td><a href="#task"><code>map[string]Task</code></a></td><td></td><td>一组 task 定义。</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>此 Taskfile 的默认“silent”选项。 如果为 <code>false</code>,则可以在 task 的基础上用 <code>true</code> 覆盖。</td></tr><tr><td><code>dotenv</code></td><td><code>[]string</code></td><td></td><td>要解析的 <code>.env</code> 文件路径列表。</td></tr><tr><td><code>run</code></td><td><code>string</code></td><td><code>always</code></td><td>Taskfile 中默认的 &#x27;run&#x27; 选项。 可用选项: <code>always</code><code>once</code><code>when_changed</code></td></tr><tr><td><code>interval</code></td><td><code>string</code></td><td><code>5s</code></td><td>设置 <code>--watch</code> 模式下的观察时间,默认 5 秒。 这个字符串应该是一个有效的 <a href="https://pkg.go.dev/time#ParseDuration" target="_blank" rel="noopener noreferrer">Go Duration</a></td></tr><tr><td><code>set</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>set</code></a> 指定选项。</td></tr><tr><td><code>shopt</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>shopt</code></a> 指定选项。</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="include">Include<a href="#include" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h3><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>taskfile</code></td><td><code>string</code></td><td></td><td>要包含的 Taskfile 或目录的路径。 如果是目录Task 将在该目录中查找名为 <code>Taskfile.yml</code><code>Taskfile.yaml</code> 的文件。 如果是相对路径,则相对于包含 Taskfile 的目录进行解析。</td></tr><tr><td><code>dir</code></td><td><code>string</code></td><td>Taskfile 文件父目录</td><td>运行时包含的 task 的工作目录。</td></tr><tr><td><code>optional</code></td><td><code>bool</code></td><td><code>false</code></td><td>设置为 <code>true</code> 时, 文件不存在也不会报错</td></tr><tr><td><code>internal</code></td><td><code>bool</code></td><td><code>false</code></td><td>停止在命令行上调用包含的 Taskfile 中的任何 task。 当与 <code>--list</code> 一起使用时,这些命令也将从输出中省略。</td></tr><tr><td><code>aliases</code></td><td><code>[]string</code></td><td></td><td>包含的 Taskfile 的命名空间的替代名称。</td></tr><tr><td><code>vars</code></td><td><code>map[string]Variable</code></td><td></td><td>一组应用于包含的 Taskfile 的变量。</td></tr></tbody></table><div class="theme-admonition theme-admonition-info alert alert--info admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>信息</div><div class="admonitionContent_S0QG"><p>像下面这样只赋值一个字符串,和把这个值设置到 <code>taskfile</code> 属性是一样的。</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">includes</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> ./path</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="variable">Variable<a href="#variable" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h3><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><em>itself</em></td><td><code>string</code></td><td></td><td>将设置为变量的静态值。</td></tr><tr><td><code>sh</code></td><td><code>string</code></td><td></td><td>一个 shell 命令。 输出 (<code>STDOUT</code>) 将分配给变量。</td></tr></tbody></table><div class="theme-admonition theme-admonition-info alert alert--info admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>信息</div><div class="admonitionContent_S0QG"><p>静态和动态变量有不同的语法,如下所示:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">STATIC</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> static</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">DYNAMIC</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">sh</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;dynamic&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="task">Task<a href="#task" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h3><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>cmds</code></td><td><a href="#command"><code>[]Command</code></a></td><td></td><td>要执行的 shell 命令列表。</td></tr><tr><td><code>deps</code></td><td><a href="#dependency"><code>[]Dependency</code></a></td><td></td><td>此 task 的依赖项列表。 此处定义的 task 将在此 task 之前并行运行。</td></tr><tr><td><code>label</code></td><td><code>string</code></td><td></td><td>运行 task 时覆盖输出中的 task 名称。 支持变量。</td></tr><tr><td><code>desc</code></td><td><code>string</code></td><td></td><td>task 的简短描述。 这在调用 <code>task --list</code> 时显示。</td></tr><tr><td><code>prompt</code></td><td><code>string</code></td><td></td><td>A prompt that will be presented before a task is run. Declining will cancel running the current and any subsequent tasks.</td></tr><tr><td><code>summary</code></td><td><code>string</code></td><td></td><td>task 的较长描述。 这在调用 <code>task --summary [task]</code> 时显示。</td></tr><tr><td><code>aliases</code></td><td><code>[]string</code></td><td></td><td>可以调用 task 的别名列表。</td></tr><tr><td><code>sources</code></td><td><code>[]string</code></td><td></td><td>运行此 task 之前要检查的源列表。 与 <code>checksum</code><code>timestamp</code> 方法相关。 可以是文件路径或星号。</td></tr><tr><td><code>generates</code></td><td><code>[]string</code></td><td></td><td>此 task 要生成的文件列表。 与 <code>timestamp</code> 方法相关。 可以是文件路径或星号。</td></tr><tr><td><code>status</code></td><td><code>[]string</code></td><td></td><td>用于检查此 task 是否应运行的命令列表。 否则跳过该 task。 这个方法会覆盖 <code>method</code><code>sources</code><code>generates</code></td></tr><tr><td><code>preconditions</code></td><td><a href="#precondition"><code>[]Precondition</code></a></td><td></td><td>用于检查此 task 是否应运行的命令列表。 如果不满足条件task 将出错。</td></tr><tr><td><code>dir</code></td><td><code>string</code></td><td></td><td>此 task 应运行的目录。 默认为当前工作目录。</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>可在 task 中使用的一组变量。</td></tr><tr><td><code>env</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>一组可用于 shell 命令的环境变量。</td></tr><tr><td><code>dotenv</code></td><td><code>[]string</code></td><td></td><td>要解析的 <code>.env</code> 文件路径列表。</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>从输出中隐藏 task 名称和命令。 命令的输出仍将重定向到 <code>STDOUT</code><code>STDERR</code>。 当与 <code>--list</code> 标志结合使用时task 描述将被隐藏。</td></tr><tr><td><code>interactive</code></td><td><code>bool</code></td><td><code>false</code></td><td>告诉 task 该命令是交互式的。</td></tr><tr><td><code>internal</code></td><td><code>bool</code></td><td><code>false</code></td><td>停止在命令行上调用 task。 当与 <code>--list</code> 一起使用时,它也会从输出中省略。</td></tr><tr><td><code>method</code></td><td><code>string</code></td><td><code>checksum</code></td><td>定义用于检查 task 是最新的方法。 <code>timestamp</code> 将比较 sources 的时间戳并生成文件。 <code>checksum</code> 将检查 checksum您可能想忽略 .gitignore 文件中的 .task 文件夹)。 <code>none</code> 跳过任何验证并始终运行 task。</td></tr><tr><td><code>prefix</code></td><td><code>string</code></td><td></td><td>定义一个字符串作为并行运行 task 输出的前缀。 仅在输出模式是 <code>prefixed</code> 时使用。</td></tr><tr><td><code>ignore_error</code></td><td><code>bool</code></td><td><code>false</code></td><td>如果执行命令时发生错误,则继续执行。</td></tr><tr><td><code>run</code></td><td><code>string</code></td><td>Taskfile 中全局声明的值或 <code>always</code></td><td>指定如果多次调用该 task 是否应再次运行。 可用选项:<code>always</code><code>once</code><code>when_changed</code></td></tr><tr><td><code>platforms</code></td><td><code>[]string</code></td><td>所有平台</td><td>指定应在哪些平台上运行 task。 允许使用 <a href="https://github.com/golang/go/blob/main/src/go/build/syslist.go" target="_blank" rel="noopener noreferrer">有效的 GOOS 和 GOARCH 值</a>。 否则将跳过 task。</td></tr><tr><td><code>set</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>set</code></a> 指定选项。</td></tr><tr><td><code>shopt</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>shopt</code></a> 指定选项。</td></tr></tbody></table><div class="theme-admonition theme-admonition-info alert alert--info admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>信息</div><div class="admonitionContent_S0QG"><p>这些替代语法可用。 他们会将给定值设置为 <code>cmds</code>,其他所有内容都将设置为其默认值:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foobar</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;bar&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">baz</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">cmd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;baz&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="command">Command<a href="#command" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h4><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>cmd</code></td><td><code>string</code></td><td></td><td>要执行的 shell 命令</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>跳过此命令的一些输出。 请注意,命令的 STDOUT 和 STDERR 仍将被重定向。</td></tr><tr><td><code>task</code></td><td><code>string</code></td><td></td><td>执行另一个 task而不执行命令。 不能与 <code>cmd</code> 同时设置。</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>要传递给引用 task 的可选附加变量。 仅在设置 <code>task</code> 而不是 <code>cmd</code> 时相关。</td></tr><tr><td><code>ignore_error</code></td><td><code>bool</code></td><td><code>false</code></td><td>执行命令的时候忽略错误,继续执行</td></tr><tr><td><code>defer</code></td><td><code>string</code></td><td></td><td><code>cmd</code> 的替代方法,但安排命令在此 task 结束时执行,而不是立即执行。 不能与 <code>cmd</code> 一同使用。</td></tr><tr><td><code>platforms</code></td><td><code>[]string</code></td><td>所有平台</td><td>指定应在哪些平台上运行该命令。 允许使用 <a href="https://github.com/golang/go/blob/main/src/go/build/syslist.go" target="_blank" rel="noopener noreferrer">有效的 GOOS 和 GOARCH 值</a>。 否则将跳过命令。</td></tr><tr><td><code>set</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>set</code></a> 指定选项。</td></tr><tr><td><code>shopt</code></td><td><code>[]string</code></td><td></td><td><a href="https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html" target="_blank" rel="noopener noreferrer">内置 <code>shopt</code></a> 指定选项。</td></tr></tbody></table><div class="theme-admonition theme-admonition-info alert alert--info admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>信息</div><div class="admonitionContent_S0QG"><p>如果以字符串形式给出,该值将分配给 <code>cmd</code></p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;bar&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="dependency">Dependency<a href="#dependency" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h4><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>task</code></td><td><code>string</code></td><td></td><td>要作为依赖项执行的 task。</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>要传递给此 task 的可选附加变量。</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>从输出中隐藏 task 名称和命令。 命令的输出仍将重定向到 <code>STDOUT</code><code>STDERR</code></td></tr></tbody></table><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>提示</div><div class="admonitionContent_S0QG"><p>如果你不想设置额外的变量,将依赖关系声明为一个字符串列表就足够了(它们将被分配给 <code>task</code>)。</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">deps</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">foo</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> bar</span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="precondition">Precondition<a href="#precondition" class="hash-link" aria-label="标题的直接链接" title="标题的直接链接"></a></h4><table><thead><tr><th>属性</th><th>类型</th><th>默认</th><th>描述</th></tr></thead><tbody><tr><td><code>sh</code></td><td><code>string</code></td><td></td><td>要执行的命令。 如果返回非零退出码, task 将在不执行其命令的情况下出错。</td></tr><tr><td><code>msg</code></td><td><code>string</code></td><td></td><td>如果不满足先决条件,则打印可选消息。</td></tr></tbody></table><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>提示</div><div class="admonitionContent_S0QG"><p>如果你不想设置不同的消息,你可以像这样声明一个前提条件,值将被分配给 <code>sh</code></p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#22863A">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#22863A">precondition</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> test </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">f Taskfile.yml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" title="复制" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="文档分页导航"><a class="pagination-nav__link pagination-nav__link--prev" href="/zh-Hans/usage/"><div class="pagination-nav__sublabel">上一页</div><div class="pagination-nav__label">使用指南</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/zh-Hans/experiments/"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">Experiments</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#命令行" class="table-of-contents__link toc-highlight">命令行</a></li><li><a href="#退出码" class="table-of-contents__link toc-highlight">退出码</a></li><li><a href="#json-输出" class="table-of-contents__link toc-highlight">JSON 输出</a></li><li><a href="#特殊变量" class="table-of-contents__link toc-highlight">特殊变量</a></li><li><a href="#环境变量" class="table-of-contents__link toc-highlight">环境变量</a></li><li><a href="#taskfile-schema" class="table-of-contents__link toc-highlight">Taskfile Schema</a><ul><li><a href="#include" class="table-of-contents__link toc-highlight">Include</a></li><li><a href="#variable" class="table-of-contents__link toc-highlight">Variable</a></li><li><a href="#task" class="table-of-contents__link toc-highlight">Task</a><ul><li><a href="#command" class="table-of-contents__link toc-highlight">Command</a></li><li><a href="#dependency" class="table-of-contents__link toc-highlight">Dependency</a></li><li><a href="#precondition" class="table-of-contents__link toc-highlight">Precondition</a></li></ul></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">页面</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/zh-Hans/installation/">安装</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-Hans/usage/">使用指南</a></li><li class="footer__item"><a class="footer__link-item" href="/zh-Hans/donate/">赞助</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://fosstodon.org/@task" target="_blank" rel="me" class="footer__link-item">Mastodon<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a target="_blank" href="https://www.netlify.com"><img src="https://www.netlify.com/v3/img/components/netlify-color-accent.svg" alt="Deploys by Netlify"></a></li></ul></div></div></div></footer></div>
<script src="/zh-Hans/assets/js/runtime~main.d35b6cf4.js"></script>
<script src="/zh-Hans/assets/js/main.118e5227.js"></script>
</body>
</html>