Linter显示错误SC1036以获取正确的Powershell脚本

问题描述

在我的Github project中,我的powershell script中有以下代码段:

param (
    [string]$f,[string]$l 
)

超级衬垫向我显示this error

SC1036: '(' is invalid here. Did you forget to escape it?

,但是代码本身可以工作。 我也尝试禁用此林特规则,但不幸的是,这没有用。

解决方法

PowerShell脚本不应包含#!/bin/bash解释器行(shebang)。该解释器行可能会使linter混乱,从而使其运行shellcheck(适用于bash / sh脚本)而不是PSScriptAnalyzer(powershell linter)。

在Linux / Mac上,PowerShell的正确解释器行是#!/usr/bin/env pwsh1