Fish Shell
今天看到阮一峰同学的一篇博客(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,请读者以阮一峰和官网文档为主,我在此仅为狗尾续貂。
临了再讲一个程序员的段子。一哥们看一美女很漂亮便跑过去躺到美女脚下,大喊:“姑娘你的男朋友掉了。”。结果就是一脚。。。
Fish Shell的更多相关文章
- anaconda的fish shell支持
最近在用fish shell,但是无法使用conda的activate命令来激活环境.官方给的有解决方案 https://github.com/conda/conda/blob/5b97a96d78e ...
- fish shell 下gopath的设置问题
GOPATH可以设置多个工程目录,linux下用冒号分隔(必须用冒号,fish shell的空格分割会出错),windows下用分号分隔,但是go get 只会下载pkg到第一个目录,但是编译的时候会 ...
- fish shell version
如果你使用 fish shell, 想要自己定义变量,或者函数,或者alias, 不要使用 version 这个名字, 因为,version 这个名字 被 fish 本身占了.... ...
- Mac开发必备工具(三)—— Fish shell
Fish shell 简介 fish 可以根据输入自动匹配历史命令.它的一大特点是开箱即用,没有zsh那些繁琐的配置.官网:http://www.fishshell.com/. 安装与配置 在终端里使 ...
- Fish Shell使用心得
Fish的官网宣传语是 Finally, a command line shell for the 90s. 翻译过来就是 Fish shell 是一个为90后准备的 shell. 有人说:" ...
- fish shell 自动补全子命令
之前在 「创建 fish shell 自动补全文件」 中介绍了如何创建 fish 的补全文件,实现对命令的友好补全提示.通过形如 complete -c <command> -a [&qu ...
- Mac安装fish shell
1.brew update 2.brew install fish 3.sudo vi /etc/shells 增加内容:/usr/local/bin/fish ##增加fish到shell环境变 ...
- linux工具————fish shell
1.说明 fish is a fully-equipped command line shell (like bash or zsh) that is smart and user-friendly. ...
- fish 设置环境变量;fish shell 相关使用说明记录;
最近使用 fish进行工作,发现环境变量忘记如何设置: fish 环境变量保存在两个地方: ~ 目录下,.config/fish 目录下: /etc/fish/ 目录下 如果配置所有用户都能用的环境变 ...
随机推荐
- shiro学习笔记_0100_shiro简介
前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记 ...
- ASP.NET MVC 创建控制器类过程
MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ...
- 一步到位分布式开发Zookeeper实现集群管理
说到分布式开发Zookeeper是必须了解和掌握的,分布式消息服务kafka .hbase 到hadoop等分布式大数据处理都会用到Zookeeper,所以在此将Zookeeper作为基础来讲解. Z ...
- boost.asio源码阅读(1) - 从chat_server开始
1. 关于示例代码 chat 先从简单的入手, 在如下路径:boost_1_63_0/libs/asio/example/cpp11/chat中找到chat_server.cpp 查看其成员, pri ...
- ubuntu下python flask环境搭建
ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...
- SQLServer 数据库不能重命名的解决方案
无法用排他锁锁定该数据库,以执行该操作 SQL Server2008 因为可能其他用户在占用着该数据库 解决办法为 把数据库先改为单用户的,再改数据库名,再改回多用户的 USE [master] GO ...
- 安装prometheus+grafana监控mysql redis kubernetes等
1.prometheus安装 wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5 ...
- CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇
在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到. 为了分析这部分我花了一个多月的时间,期间也多次向Cor ...
- wamp虚拟服务器
1.安装好wampServer 2.修改配置文件包含 vhosts 文件,操作: 打开apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts ...
- JS——控制标记的样式
1.定义一个div,宽度为100px,高度为100px,背景色为粉色. 定义一个事件,鼠标移入时背景色变为蓝色,宽度变为200px. 定义一个事件,鼠标移出时背景色变为红色. html文件: < ...