我听说过fish,它是一个友好且开箱即用的shell,但它也不支持POSIX 标准。
另一方面,我阅读了 POSIX 标准(并且我还在我的 Fedora 上测试了它,它是惊人的开箱即用的 shell,现在我想将我的默认 shell 更改为 fish)。
但是我提出这个问题的原因是:我误解了 fish 和 POSIX 标准之间的关系,你说 fish 不完全支持 POSIX 是什么意思? & 如何? (我应该把我的 bash 改成 fish 吗?)。
请简单解释一下,因为我是一个小新手,谢谢。
最佳答案
fish 不是也从未尝试过与 POSIX sh 兼容。
这实际上只是意味着它是一种单独的语言(如 Java、Python 或 Ruby),而不是 sh(如 Bash、Dash 和 Ksh)的实现或扩展。
显然,就像您不能将 Java 片段复制粘贴到 Python 程序中一样,您也不能复制粘贴 sh
编码到fish
.
实际上,这意味着当您搜索诸如“如何在我的提示中显示当前 git 分支”之类的内容时,您需要确保找到 fish
答案是因为sh
那些不会工作。类似地,当书籍或说明给出要运行的命令时,您可能偶尔需要手动重写其中的一些(或打开 bash
shell 并将它们粘贴到那里)。
这是否重要完全取决于您,所以一定要试一试。
关于shell - 为什么 fish 不支持POSIX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732986/