Deployment AppVeyor自定义(部署)脚本-yaml文件中PS、PS CORE、CMD和SH之间有什么区别?

Deployment AppVeyor自定义(部署)脚本-yaml文件中PS、PS CORE、CMD和SH之间有什么区别?,deployment,yaml,settings,appveyor,Deployment,Yaml,Settings,Appveyor,我正在尝试使用AppVeyor将我的后端从Github部署到Azure。 现在,我在弄清楚部署脚本(我放在yaml文件中)应该是什么样子时遇到了一点困难 我发现了这样的东西: curl -X POST -u myNick --data-binary @"myApiArtefact.Api.zip" https://my-azure-site.scm.azurewebsites.net/api/zipdeploy 我将其放入AppVeyor中的设置>部署>脚本冒号中 但我也可以设置它是PS、PS

我正在尝试使用AppVeyor将我的后端从Github部署到Azure。 现在,我在弄清楚部署脚本(我放在yaml文件中)应该是什么样子时遇到了一点困难

我发现了这样的东西:

curl -X POST -u myNick --data-binary @"myApiArtefact.Api.zip" https://my-azure-site.scm.azurewebsites.net/api/zipdeploy
我将其放入AppVeyor中的设置>部署>脚本冒号中

但我也可以设置它是PS、PS CORE、CMD还是SH script,这会更改脚本的前缀(例如,脚本的-SH rest)。 我想这可能意味着脚本是通过powershell、命令行或bash执行的。
但对于一个更像前端女士的窗户,我完全不懂。我不知道它改变了什么?运行此脚本时会发生什么情况?

中介绍了这些脚本设置。基本上,它们会影响行(或块)的执行方式:

  • PS(
    PS
    )使用PowerShell(在Ubuntu上,它是as PS核心)
  • PS核心(
    pwsh
    )使用PowerShell核心。与PowerShell的语法相同,但它也适用于Linux(AppVeyor有一个Ubuntu映像可用)
  • CMD(
    CMD
    或Windows上没有前缀)使用
    CMD.exe
  • SH(
    SH
    或在Linux上没有前缀)使用Bash,并且将仅在Linux上执行
对于
curl
命令,我建议使用
cmd
(Windows)或
sh
(Linux),而不要使用PowerShell变体,因为
@
字符具有特殊含义。执行时,它将尝试使用特定用户名将zip文件上载到网站


对于另一种特定于AppVeyor的方法,请查看他们在上的文档。

Windows上无前缀运行
cmd
,Linux上无前缀运行
bash
。也会有一些启示。