今天看到阮一峰同学的一篇博客(Fish shell 入门教程),讲述的非常详细、清楚,有兴趣的可以直接转去查看此文,本文仅提供一下个人使用心得。
一、fish shell
想必接触过类unix(包括windows的dos)的人对shell应该都不陌生。shell对于提高工作效率有非常大的帮助,但是繁杂的语句及命令使得shell使用起来较麻烦。图形化界面方便一般人的操作,但是效率不够高。fish shell兼顾了二者的优点,对shell进行了改进,使之更方便使用。具体介绍见fish shell
二、安装
在其官网中给出了各种系统的安装方式,本文以Ubuntu为例。安装命令如下(这就是普通shell):
sudo apt-add-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish
PPA表示Personal Package Archives,也就是个人软件包集。所以第一行表示添加fish的个人软件包集,添加之后能获取到fish的最新版,当然也可以不加此行,直接从ubuntu的源中获取fish。今日(2017.5.2)实际测试使用ppa安装的版本为2.5.0,不使用ppa安装的版本为2.0.0。
三、功能
fish的强大之处就在于其有良好的交互和提示功能,能够帮助我们少输很多字母。其对历史命、命令补全、参数补全、路径补全、git等都有很好的支持。在Fish shell 入门教程已经介绍的很详细,可以参考。在这里补充一些细节。
3.1 配置
配置文件存放在~/.config/fish/config.fish中,但是默认情况下并没有此文件,如果需要在fish启动的时候添加自定义函数等,可以新建该文件,将函数写入。
3.2 函数与语法
其语法与普通shell少许相似(关于普通shell语法可以参考我的另一篇文章——shell脚本学习心得),部分概念即继承了bash又借鉴了其他高级语言程序。
fish的好处在于可以将函数放入上述配置文件中,这样一些命令的简写等就可以直接调用,在shell中可能需要通过设置别名来达到这一点。对于一些循环等操作,使用fish写脚本将更加容易。
并且fish可以直接在控制台中通过与在IDE中同样的方式书写循环等,如:
for file in *
echo $file
end
上述命令只要逐行输入即可,当输入end后fish会自动执行,在bash中无法实现此功能。这样可以更友好的进行批量操作等。
3.3 退出
直接按CTRL+D退出fish,返回bash。
四、总结
本文简单介绍了fish,请读者以阮一峰和官网文档为主,我在此仅为狗尾续貂。
临了再讲一个程序员的段子。一哥们看一美女很漂亮便跑过去躺到美女脚下,大喊:“姑娘你的男朋友掉了。”。结果就是一脚。。。
网友评论