CmdLine@2 - 命令行 v2 任务

使用此任务在 Linux、macOS 和 Windows 上的 cmd.exe 上使用 Bash 运行命令行脚本。

语法

# Command Line v2
# Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
- task: CmdLine@2
  inputs:
    script: # string. Required. Script. 
  # Advanced
    #workingDirectory: # string. Working Directory. 
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.

输入

script - 脚本
string. 必需。 默认值:echo Write your commands here\n\necho Hello world

要运行的脚本的内容。


script - 脚本
string. 必需。 默认值:echo Write your commands here\n\necho Use the environment variables input below to pass secret variables to this script

要运行的脚本的内容。


workingDirectory - 工作目录
string.

指定要运行命令的工作目录。 如果将其留空,则工作目录为 $(Build.SourcesDirectory)


failOnStderr - 标准错误失败
boolean. 默认值:false

如果该值设置为 true,则任何错误写入标准错误流时,任务将失败。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

命令行在 YAML 中具有快捷方式: steps.script

- script: # inline script
  workingDirectory: #
  displayName: #
  failOnStderr: #
  env: { string: string } # mapping of environment variables to add

运行批处理和 .CMD 文件

Azure Pipelines 将内联脚本内容放入临时批处理文件 (.cmd) 中,以便运行它。 要从 Windows CMD 中的另一个批处理文件运行批处理文件时,必须使用 call 命令,否则第一个批处理文件将终止。 这将导致 Azure Pipelines 运行预期脚本,直到第一个批处理文件为止,然后运行批处理文件,然后结束此步骤。 第一个脚本中的其他行不会运行。 在 Azure Pipelines 脚本步骤中执行批处理文件之前,应始终先追加 call

重要

你可能没有意识到你正在运行批处理文件。 例如,Windows 上的 npm 以及使用 npm install -g 安装的任何工具实际上都是批处理文件。 始终使用 call npm <command> 在 Windows 上的命令行任务中运行 NPM 命令。

示例

steps:
- script: date /t
  displayName: Get the date
- script: dir
  workingDirectory: $(Agent.BuildDirectory)
  displayName: List contents of a folder
- script: |
    set MYVAR=foo
    set
  displayName: Set a variable and then display all
  env:
    aVarFromYaml: someValue

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 所有支持的代理版本。
任务类别 实用工具

另请参阅