如何在 debian/linux 中获取 powershell 或 pwsh exe 文件路径

How to get powershell or pwsh exe file path in debian/linux

需要在两个环境(windows 和 Linux)中 运行 构建脚本。构建脚本指向 window 中的 powershell.exe 路径环境和工作正常。但与此同时,相同的构建脚本没有获得 powershell 路径并抛出错误。

Executing task in folder root: PowerShell /home/userName/FolderName/Assetmonitor/scripts/build/client/build-client-dev.ps1 <

终端进程启动失败:shell 可执行文件“PowerShell”的路径不存在。

听起来您的脚本正在尝试调用 PowerShell 可执行文件,但“powershell”(技术上 powershell.exe)仅存在于 Windows 上并且是 powershell 5.x 的可执行文件,并且更早。 PowerShell 7 的可执行文件是我所熟悉的唯一在 Linux 上可用的版本,名为“pwsh”(pwsh.exe 在 Windows 上)。

我建议:1) 在你的 Windows 盒子上安装 PowerShell 7 并更改脚本以调用 pwsh 而不是“PowerShell”(记住 Linux 是 case-sensitive ),或 2) 在现有 $PATH 环境变量(如 /usr/local/bin/)中的某处创建符号 link,将“PowerShell”指向 Linux 上安装 PowerShell 7 的任何位置。

实际 pwsh 程序的默认路径,如果您使用来自 Microsoft 的最新构建文件,是 /opt/microsoft/powershell/7/pwsh,但它已经被 symlinked 到 /usr/bin/pwsh,所以您可以link 而不是:

    sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/local/bin/PowerShell