欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Fish:Linux中比bash或zsh更好用的Shell

程序员文章站 2022-04-29 17:59:50
Fish是一个智能且用户友好的命令行shell,适用于macOS,Linux和其他家族。fish包含语法突出显示、根据你键入字符自动提示autosuggest-as-type和花式选项卡完成等功能,无需配置。 Banq注:其中autosuggest-as-type是最棒的,因为Linux下键入命令有 ......

fish是一个智能且用户友好的命令行shell,适用于macos,linux和其他家族。fish包含语法突出显示、根据你键入字符自动提示autosuggest-as-type和花式选项卡完成等功能,无需配置。

banq注:其中autosuggest-as-type是最棒的,因为linux下键入命令有时很难准确,除非经常使用的网络人员,所以,只能搜索引擎搜索,比较消磨时间,其实命令行方式只要有自动提示,肯定强于windows的图形化方式,过去linux一直在桌面东施效颦,模仿windows的图形界面,其实努力方向错了,坚守命令行方式,并向人类友好方向开拓,比如搞个autosuggest-as-type不比你花老鼻子力气做啥图形界面省心啊,界面你做得过windows,做得过苹果吗?

fish设计有三个高水平的目标:

  1. 可以在其他shell语言中完成的所有操作都应该可以在fish中完成,尽管fish可能会依赖外部命令。
  2. fish是用户友好的,但不能以牺牲表现力为代价。通过精心设计,实现强大和易用性之间的主要权衡。
  3. 在不违反上述目标的情况下,fish应遵循posix语法。

正交法则

shell语言应该有一小组正交特征。任何情况下两个功能相关但不相同,其中一个应该被删除,另一个应该变得强大和通用,足以处理任何一个功能的所有常见用例。

理由:

相关功能使语言更大,这使得学习更难。它还会增加源代码的大小,使程序更难维护和更新

响应法则

shell应该始终尝试对用户保持响应,即使面对争用或无响应的文件系统。只有在响应用户启动的操作(例如运行命令)时才阻止。

理由:糟糕的性能会增加面向用户的复杂性,因为它会训练用户识别和处理缓慢的用例。这也令人非常沮丧。

可配置性是万恶之源

程序中的每个配置选项都是程序过于愚蠢的地方,无法自行确定用户真正想要的内容,应该被认为是程序和实现它的程序员都失败了。

理由:不同的配置选项是维护的噩梦,因为特定配置组合引起的潜在错误数量很快就会成为一个问题。配置选项通常意味着对重新实现代码时更改的代码的假设,从而导致向后兼容性问题。但大多数情况下,应该避免使用配置选项,因为它们根本不应该存在,因为程序应该足够聪明,以便做到最好,或者至少足够接近它。

用户关注的法则

在设计程序时,首先应该考虑如何制作一个直观而强大的程序。只有在设计用户界面后才应考虑实施问题。

理由:

此设计规则与其他设计规则不同,因为它描述了应该如何设计新功能,而不是功能应该是什么。关注可以做什么以及容易做什么的问题在于暴露了太多的实现。这意味着用户必须对底层系统有很多了解才能猜出shell是如何工作的,这也意味着语言通常会相当低级。

可发现性定律

应该设计一个程序,使其功能尽可能简单,以便为用户发现。

理由:可以发现其功能的程序可以在较短的时间内将新用户转变为专家,因为用户只需使用它即可成为该程序的专家。

图形程序相对于基于命令行的程序的主要好处是可发现性。在图形程序中,只需查看用户界面并猜测不同的按钮,菜单和其他小部件的功能,即可发现所有常见功能。在命令行程序中发现功能的传统方法是通过手册页。这需要用户开始使用不同的程序,然后他们记住新信息,直到他们下次使用相同的程序。

写在最后

 Fish:Linux中比bash或zsh更好用的Shell