mirror of
https://github.com/go-task/task.git
synced 2025-02-13 13:59:32 +02:00
22 lines
60 KiB
HTML
22 lines
60 KiB
HTML
<!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/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.fbd3cd80.css">
|
|
<link rel="preload" href="/zh-Hans/assets/js/runtime~main.78a4dd16.js" as="script">
|
|
<link rel="preload" href="/zh-Hans/assets/js/main.bbcd1201.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>简体中文</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="/zh-Hans/api/" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="zh-Hans">简体中文</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="noopener noreferrer" 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-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/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><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 href="https://task-zh.readthedocs.io/zh_CN/latest/" target="_blank" rel="noopener noreferrer" class="menu__link menuExternalLink_NmtK">Chinese | 中国人<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></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>限制并发运行的任务数。 零意味着无限。</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>按运行顺序编译和打印任务,而不执行它们。</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>传递任务命令的退出代码。</td></tr><tr><td><code>-f</code></td><td><code>--force</code></td><td><code>bool</code></td><td><code>false</code></td><td>即使任务是最新的也强制执行。</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> 运行全局任务文件。</td></tr><tr><td><code>-h</code></td><td><code>--help</code></td><td><code>bool</code></td><td><code>false</code></td><td>显示任务使用情况。</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>列出当前文件的全部任务及对应描述。</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>列出无论有没有描述的所有任务。</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>并行执行命令行上提供的任务。</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></td><td><code>--status</code></td><td><code>bool</code></td><td><code>false</code></td><td>如果任何给定任务不是最新的,则以非 0 退出码退出。</td></tr><tr><td></td><td><code>--summary</code></td><td><code>bool</code></td><td><code>false</code></td><td>显示有关任务的摘要。</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>启用给定任务的观察器。</td></tr></tbody></table><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-jsonc codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-jsonc codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "tasks": [</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "name": "",</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "desc": "",</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "summary": "",</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "up_to_date": false,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "location": {</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "line": 54,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "column": 3,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "taskfile": "/path/to/Taskfile.yml"</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> // ...</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> "location": "/path/to/Taskfile.yml"</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">}</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>当前任务的名称。</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> 参数中可用,并且如果方法设置为 <code>checksum</code>。</td></tr><tr><td><code>TIMESTAMP</code></td><td><code>sources</code> 中列出的文件的最大时间戳的日期对象。 仅在 <code>status</code> 参数中可用,并且如果方法设置为 <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 中的默认方法。 可以在任务基础上覆盖。 可用选项:<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>一组任务定义。</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>此任务文件的默认“silent”选项。 如果为 <code>false</code>,则可以在任务的基础上用 <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 中默认的 'run' 选项。 可用选项: <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>运行时包含的任务的工作目录。</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>停止在命令行上调用包含的任务文件中的任何任务。 当与 <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 "dynamic"</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>此任务的依赖项列表。 此处定义的任务将在此任务之前并行运行。</td></tr><tr><td><code>label</code></td><td><code>string</code></td><td></td><td>运行任务时覆盖输出中的任务名称。 支持变量。</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>summary</code></td><td><code>string</code></td><td></td><td>任务的较长描述。 这在调用 <code>task --summary [task]</code> 时显示。</td></tr><tr><td><code>aliases</code></td><td><code>[]string</code></td><td></td><td>可以调用任务的别名列表。</td></tr><tr><td><code>sources</code></td><td><code>[]string</code></td><td></td><td>运行此任务之前要检查的源列表。 与 <code>checksum</code> 和 <code>timestamp</code> 相关。 可以是文件路径或星号。</td></tr><tr><td><code>generates</code></td><td><code>[]string</code></td><td></td><td>此任务要生成的文件列表。 与 <code>timestamp</code> 方法相关。 可以是文件路径或星号。</td></tr><tr><td><code>status</code></td><td><code>[]string</code></td><td></td><td>用于检查此 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>用于检查此任务是否应运行的命令列表。 如果不满足条件,任务将出错。</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>从输出中隐藏任务名称和命令。 命令的输出仍将重定向到 <code>STDOUT</code> 和 <code>STDERR</code>。 当与 <code>--list</code> 标志结合使用时,任务描述将被隐藏。</td></tr><tr><td><code>interactive</code></td><td><code>bool</code></td><td><code>false</code></td><td>告诉任务该命令是交互式的。</td></tr><tr><td><code>internal</code></td><td><code>bool</code></td><td><code>false</code></td><td>停止在命令行上调用任务。 当与 <code>--list</code> 一起使用时,它也会从输出中省略。</td></tr><tr><td><code>method</code></td><td><code>string</code></td><td><code>checksum</code></td><td>定义用于检查任务是最新的方法。 <code>timestamp</code> 将比较源的时间戳并生成文件。 <code>checksum</code> 将检查 checksum(您可能想忽略 .gitignore 文件中的 .task 文件夹)。 <code>none</code> 跳过任何验证并始终运行任务。</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>指定如果多次调用该任务是否应再次运行。 可用选项:<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>指定应在哪些平台上运行任务。 允许使用 <a href="https://github.com/golang/go/blob/master/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>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 "foo"</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 "foo"</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 "bar"</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 "baz"</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>要传递给引用任务的可选附加变量。 仅在设置 <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> 的替代方法,但安排命令在此任务结束时执行,而不是立即执行。 不能与 <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/master/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 "foo"</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 "bar"</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>要作为依赖项执行的任务。</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></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>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>要执行的命令。 如果返回非零退出码,任务将在不执行其命令的情况下出错。</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/faq/"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">常见问题</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="#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="noopener noreferrer" 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 href="https://task-zh.readthedocs.io/zh_CN/latest/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chinese | 中国人<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></div></footer></div>
|
|
<script src="/zh-Hans/assets/js/runtime~main.78a4dd16.js"></script>
|
|
<script src="/zh-Hans/assets/js/main.bbcd1201.js"></script>
|
|
</body>
|
|
</html> |