软件介绍
- PowerShell是一个功能强大的Shell,最初由微软开发,简洁且灵活。
- PowerShell目前已经被微软内置在Windows操作系统中,只要你的系统不是太老,基本上都可以通过
Win + R
然后输入powershell
来启动。我们可以通过$PSVersionTable.PSVersion
命令来查询PowerShell版本,如下图所示,我的版本为5.1。
- 事实上,PoweShell还有另外一个开源版本,它是微软推出的跨平台版本,可以在Windows、Linux、macOS等操作系统上运行,这也是本篇文章要介绍的对象。相比起内置的PowerShell,它少了启动时的广告,如下图所示。同时,由于有开源社区的支持,使得该版本更新较快,可以及时体验很多新特性。
软件安装
PowerShell开源版的官方网站为:https://github.com/PowerShell/PowerShell
使用Scoop安装
PowerShell可以通过Scoop一键安装和管理,安装命令如下。如果不知道Scoop是什么的,请参考我之前的文章:Scoop | Windows下的软件包管理神器
scoop install powershell
使用WinGet安装
- WinGet是微软推出的一种包管理工具,内置于Windows中,无需额外安装。
- 执行以下命令,查询可以获取的PowerShell版本。一般会出现两个版本,一个稳定版和预览版。
winget search Microsoft.PowerShell
- 执行以下命令安装PowerShell稳定版,
--id
参数指明了Powershell的版本,如果想安装预览版,则修改--id
的参数值即可。winget install --id Microsoft.PowerShell --source winget
启动PowerShell
- 启动PowerShell有两种常用方法:
- 重启终端,在命令行下输入
pwsh
即可进入PowerShell - 使用
Win + R
,输入pwsh
,也可以直接进入PowerShell
- 重启终端,在命令行下输入
- 推荐将PowerShell设置为默认启动项,设置方法如下图所示。打开设置,调整默认配置文件为PowerShell。这样只要点击终端选项卡右边的
+
号,就会默认打开PowerShell了。
美化PowerShell
虽然PowerShell比起之前的微软版,简洁了不少,但我们可以在此基础上进行美化,打造属于我们的专属Shell。我们用来美化PowerShell的工具为Oh My Posh,它的官方网站为:https://ohmyposh.dev/
安装Oh My Posh
- 安装方式有两种,任选其一即可
- 使用Scoop安装
scoop install oh-my-posh
- 使用官网安装
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
- 使用Scoop安装
- 安装完成后,重启终端,输入oh-my-posh,如下图所示,则说明安装成功。
安装Nerd字体
- 由于Oh My Posh基于Nerd字体(一种Shell常用的字体),因此需要进行安装。首先你要在Nerd Fonts中进行挑选,选择一个你觉得好看的字体。比如我这里选中了
BitstromWera
,那我就点击Download来下载安装包,如下图所示。
- 下载好安装包后,有两个方法安装:
- 将压缩包的名称拷贝下来(不要有后缀),使用Scoop搜索并安装该字体(注意是搜索该字体压缩包的名称,而不是网站上标注的名称),如下图所示,直接安装带有NF后缀的字体即可。注意,该方法的前提是你已经安装了
nerd-fonts
的bucket。如果你是按照我之前的Scoop安装教程安装的Scoop,则应该已经安装了该bucket,直接搜索字体安装即可。
- 你也可以直接选择将压缩包解压缩,全选所有字体,右键选择安装,即可一键安装对应字体。
- 将压缩包的名称拷贝下来(不要有后缀),使用Scoop搜索并安装该字体(注意是搜索该字体压缩包的名称,而不是网站上标注的名称),如下图所示,直接安装带有NF后缀的字体即可。注意,该方法的前提是你已经安装了
配置Oh My Posh启动
- 打开终端配置文件,如下图所示。
- 找到
profiles
下面的defaults
,然后把"font":{"face": "BitstromWera Nerd Font"}
粘贴到defaults
后的大括号内。其中,face后面的字体名称需要换成你刚刚选择并安装的字体名称,并且是Nerd Fonts中标注的名称,而不是字体压缩包的名称,如下图所示。
- 粘贴完成后,保存配置文件,然后打开Powershell,输入以下代码,更改安全策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
- 输入以下命令打开配置文件。
notepad $PROFILE
- 如果上述命令执行后,结果为文件不存在,并且打开了一个空白的记事本,则先关闭记事本,执行以下命令创建配置文件,再执行以上命令。
New-Item -Path $PROFILE -Type File -Force
- 在打开的配置文件中添加以下代码并保存关闭。
oh-my-posh init pwsh | Invoke-Expression
- 回到PowerShell,执行以下命令,重新加载配置,就可以见到默认的Oh My Posh。之后你只要打开PowerShell,就会默认启动Oh My Posh。
. $PROFILE
安装主题
- Oh My Posh提供了非常多的主题给用户选择,我们可以通过Themes | Oh My posh在线查看所有主题。
- 选择一个你喜欢的主题,比如这里我选择kushal主题,那们就点击其主题名称,进入详情页。
- 详情页通常是GitHub上的一个json文件,我们拷贝其文件名称,如下图所示。
- 在PowerShell中打开配置文件
notepad $PROFILE
- 在配置文件中添加
--config
参数,并加入你所选择的主题文件名,如下所示。注意,这里文件名是完整的,包括扩展名。比如我选择了kushal主题,则相应的主题文件名为kushal.omp.json
。oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/kushal.omp.json" | Invoke-Expression
- 将配置文件保存并关闭,在PowerShell中输入以下命令,重新加载配置,即可看到你刚刚选择的主题已经生效了
. $PROFILE
评论