Shell分类
Windows
Windows has two command-line shells:
the Command shell (cmd)
PowerShell
cmd可以运行win命令;PowerShell可以运行win命令和cmdlet命令。
cmd脚本语言.bat
;PowerShell脚本语言.ps1
Linux
sh, csh, tcsh, bash, zsh, fish…
Bash Shell
1989 年首次发布,由 Brain Fox 为 GNU 项目编写的,目的是作为 Bourne Shell (sh) 的免费软件替代品,是大多数 Linux 发行版的默认 Shell 环境。
用户配置设置在 .bashrc
中。
Z Shell
1990 年由 Paul Falstad 发布,它具有 Bash、Korn Shell 和 C Shell 共有的一些功能,macOS 默认使用 Zsh Shell。
比 Bash 可配置度更高,有围绕 Z Shell 构建的框架(Oh My Zsh)。
用户配置设置在 .zshrc
中。
Fish Shell
2005 年由 Axel Liljencrantz 创建,不符合 POSIX shell 标准。
由于默认情况下 Fish 已经预置了很多配置,因此它被认为比 Zsh 等其他 sh
选项更适合初学者。
自定义工具
查看/切换shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| cat /etc/shells
/bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /usr/bin/sh /bin/dash /usr/bin/dash /usr/bin/tmux /usr/bin/screen /bin/zsh /usr/bin/zsh
echo $SHELL
chsh -s $(which zsh)
|
一些主题中的部件需要特殊字体,下载使用使用Nerd字体。
Window:官网下载MesloLG Nerd Font,将所有的TrueType字体文件
右键进行安装。
MacOS/Linux:脚本安装。
1 2 3
| git clone https://github.com/ryanoasis/nerd-fonts.git --depth 1 cd nerd-fonts ./install.sh
|
Oh my zsh
适用于zsh。
1 2 3 4
| sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
uninstall_oh_my_zsh
|
安装后~/.zshrc
会改变,从而启动oh-my-zsh,此时终端如下:
之后可以下载主题和插件,一方面要将下载保存到$ZSH_CUSTOM
(/.oh-my-zsh/custom),另一方面要在`/.zshrc`进行相应设置以生效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
p10k configure
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=( git zsh-autosuggestions zsh-syntax-highlighting )
omz reload
|
效果展示:
Zim
Zim 启动速度更快,相比 oh-my-zsh 更加轻量级,适用于zsh。
1 2
| curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
|
安装后~/.zshrc
会改变,而Zim的配置文件为~/.zimrc
,在该文件中列出需要使用的插件(包括主题),比如:
1 2
| zmodule romkatv/powerlevel10k zmodule completion
|
之后运行zimfw install
来安装所需插件,与oh-my-zsh类似,同样需要配置p10k
主题。
效果展示:
Oh my posh
可以用于多种shell。
可以在Windows中美化PowerShell的样式。
1 2
| winget upgrade JanDeDobbeleer.OhMyPosh -s winget
|
Windows中自带蓝色的Windows PowerShell,可以在Microsoft Store中下载黑色的PowerShell,本文使用黑色的PowerShell作为终端的默认shell。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| oh-my-posh get shell
(base) PS C:\Users\kangy> $PROFILE C:\Users\kangy\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
notepad $PROFILE
New-Item -Path $PROFILE -Type File -Force
& ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" --print) -join "`n"))
. $PROFILE
|
效果展示: