oh-my-posh
oh-my-posh
这个oh-my-posh其实看了很久了,但是一直没用。我一直以为这个和oh-my-zsh一样是shell的美化,其实不是hhh。
what is oh-my-posh
oh-my-posh是一个prompt的美化工具,可以让你的terminal更加美观。
其实是第一次听到prompt这个词用在这里,他相当于是命令行的前缀,所以叫做prompt也算合理。

类似如图所示的效果,这个功能往往是shell的一部分?(有待考证),但是oh-my-posh是一个独立的工具,可以用在许多种shell上(包括zsh)。
how to install
官方文档提供了非常详细的安装教程,这里不再赘述。
terminal and shell
Terminal 和 Shell
是两个常常一起使用的概念,但它们实际上是不同的东西。下面是它们的区别和共通之处(来自gpt):
1. Terminal(终端)
- 定义:终端是一种用户与计算机交互的界面。它通常是一个文本窗口,允许用户通过键盘输入命令并查看输出结果。
- 功能:终端提供了一个界面,用户可以在其中启动和与 Shell 进行交互。传统的终端是硬件设备,早期是通过串口连接到主机的设备,现在大多数是软件模拟的(比如 macOS 的 Terminal,Windows 的 PowerShell 或者 Linux 的 Gnome Terminal)。
- 举例:macOS 的 Terminal、Windows 的 Command Prompt、Linux 上的 Gnome Terminal。
2. Shell(外壳)
- 定义:Shell 是一种命令行解释器,它接收用户输入的命令并将其传递给操作系统的内核执行,然后将结果返回给用户。
- 功能:Shell 是通过终端与操作系统进行交互的工具,允许用户执行程序、管理文件、运行脚本等。它可以是一个简单的命令行界面(如 Bash、Zsh、Fish 等),也可以是一个脚本语言解释器。
- 举例:Bash(Bourne Again Shell)、Zsh(Z Shell)、Fish、PowerShell。
3. 共通之处
- 交互性:终端和 Shell 都是让用户能够通过命令行与计算机交互的工具。用户通过终端窗口进入 Shell,而 Shell 则负责解释命令并执行相应的操作。
- 命令行接口:它们都属于命令行接口的范畴,通常用于执行命令、查看文件、编写脚本等。
4. 区别
- 终端:是一个窗口或界面,用户与 Shell 或其他程序交互的地方。
- Shell:是命令行解释器,实际处理用户输入的命令并执行相应操作。
总结
- 终端是一个用户与操作系统交互的窗口,Shell 是终端内的一个命令行程序,用来执行命令并与操作系统的内核进行互动。
- 可以将终端看作是 Shell 的载体,Shell 则是用户命令的执行者。
总得来说,shell往往能塞很多插件zsh就是一个很好的例子,而terminal则是一个界面,以前用过的mobaxterm应该就是一个terminal。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Just a normal guy knowing a litte bit cs!!

