PowerShell
PowerShell 是一种跨平台命令行 shell 和脚本语言。
供应商: Microsoft
开发者: Microsoft
许可证: MIT
网站: https://docs.microsoft.com/en-us/powershell/
PowerShell 是一种现代、跨平台(Linux、macOS 和 Windows)命令行 shell,具有功能强大的可选类型脚本语言。它于 2006 年由 Microsoft 发布,自 2016 年以来,以 MIT 许可证作为开源软件开发。
特性
在大多数 UNIX shell 中,管道在命令之间传递纯文本。PowerShell 不同之处在于它传递完整的 .NET 对象。这使您可以直接访问对象属性和方法,从而减少了文本解析的需要。
您可以使用 .NET 类型进行可选的静态类型,内联运行 C# 代码,并导入外部 .NET 程序集以扩展功能。
PowerShell 能够很好地处理结构化数据格式,如 JSON、CSV 和 XML,并且可以轻松调用 REST API 并使用对象模型。
附加功能
- 命令的一致结构(动词-名词)
- 一致的语法
- 完全基于对象的管道
- 远程处理
安装
虽然 PowerShell 并非由任何官方 openSUSE 仓库提供,但仍然有几种简单的方法可以在 openSUSE Leap 和 Tumbleweed 上安装它。
- 直接从 RPM 安装
- 从 tar.gz (tarball) 安装二进制文件
- 使用
sudo dotnet tool install --global powershell命令安装
本页仅涵盖前两种安装方法。后一种方法需要 安装 dotnet CLI,这超出了本页的范围。
直接从 RPM 安装
GitHub 发布页面 不提供原生的 openSUSE RPM,但它确实有一个 RedHat RPM,可以在 openSUSE Leap 和 Tumbleweed 上很好地工作。
我们将重点关注 PowerShell 的最新稳定版本。要安装不同版本的 PowerShell,请调整命令以匹配您需要的版本。可以在 PowerShell GitHub 标签 页面上找到版本。
每个软件包的下载链接都可以在发布页面的 Assets 部分找到。Assets 部分可能已折叠,因此您可能需要单击以展开它。
安装依赖项
sudo zypper update && \ sudo zypper install libicu libopenssl3
安装 PowerShell
sudo zypper install \ --allow-unsigned-rpm \ https://github.com/PowerShell/PowerShell/releases/download/v7.4.10/powershell-7.4.10-1.rh.x86_64.rpm
常见问题
Problem: 1: nothing provides 'openssl-libs' needed by the to be installed powershell-7.4.10-1.rh.x86_64 Solution 1: do not install powershell-7.4.10-1.rh.x86_64 Solution 2: break powershell-7.4.10-1.rh.x86_64 by ignoring some of its dependencies
这是因为 RedHat 的 openssl-libs 包名与 openSUSE 的不同。如果忽略此依赖项,PowerShell 仍然可以正常工作。
从 Tarball 安装
安装依赖项
使用 Linux tar.gz 存档(也称为 tarball)安装 PowerShell 二进制文件时,您需要先设置必要的依赖项。这些依赖项与从 RPM 安装时相同,此外还需要 curl 和 tar 命令。这些命令可能已经安装在您的系统中,但一般来说,仍然将它们包含在要安装的依赖项列表中不会有坏处,如下所示。
sudo zypper update && \ sudo zypper install curl tar libicu libopenssl3
下载 Tarball
您可以在 PowerShell GitHub 发布 上查看版本。我们将重点关注最新的 x64 LTS 版本,就像我们使用 RPM 一样。
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.4.10/powershell-7.4.10-linux-x64.tar.gz -o /tmp/powershell.tar.gz
创建安装目录
sudo mkdir -p /opt/microsoft/powershell
解压 Tarball
sudo tar -xzf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/
创建符号链接将 pwsh 添加到 PATH
sudo ln -s /opt/microsoft/powershell/pwsh /usr/bin/pwsh
使 pwsh 可执行
sudo chmod +x /usr/bin/pwsh
验证安装
无论您使用哪种安装方法,如果 PowerShell 已成功安装,您都应该能够运行以下代码进行验证。您应该看到终端中以绿色文本打印 Hello Geekos!(假设您的终端支持颜色)。
pwsh -command Write-Host "Hello Geekos!" -ForegroundColor Green