宇宙第一 shell —— fish 入门

宇宙第一 shell —— fish 入门

二逼青年用 bash,普通青年用 zsh,文艺青年用 fish

安装以及配置

Linux 和 OS X 基本都可以通过源来安装,实在不行就下载源码编译,不难的。

安装好第一步是修改 OS 默认 shell:


  1. chsh -s /usr/bin/fish

然后就可以直接使用了,就是这么简单。你不需要面对 zsh 浩如烟海的配置文件,也不需要去 github clone 一个 “Oh My Zsh”。

当然如果你实在想配置,输入 fish_config 命令会启动 web 管理界面。

什么?逼格太低,非要手动配置。OK, ~/.config/fish/config.fish这就是 fish 的配置文件,类似于 bash 的.bashrc

我喜欢配置三件东西:

  1. 问候语(配置config.fish):

    
    
    1. set fish_greeting 'Talk is cheap. Show me the code.'
  2. 命令行提示(在web界面配置,完成后会生成~/.config/fish/functions/fish_prompt.fish):

  3. 设置接受建议(第三条优势)的快捷键:

    修改fish_prompt.fish,增加一条语句:bind \ej accept-autosuggestion。同时按下alt和j将接受建议。

优势

语法高亮

不存在的命令会显示为红色。

 

通配符

集成find命令,递归搜索神器。

 

智能建议

当按下几个字母后,fish会有智能建议,按下向右箭头将接受建议。

 

Tab补全

如果补全项超过1个,会列出全部以供选择。

 

变量

fish是通过set来代替“=”对变量赋值的。

将某目录加入到PATH中也是用set(配置config.sh):


  1. set PATH $PATH /home/mountain/shell

 

Exports

fish没有export命令,需要用set -x来代替。如果需要擦除变量,就执行set -e。

 

 

列表

有些变量有多个值,例如$PATHfish会把所有值组装成一个列表,可以迭代或者通过下标访问。

 

命令替换

用法很简单,把命令放在括号里即可。

 

语法糖

fish 的常用关键字(if、switch、function 等)比 bash 高端、实用很多,但是考虑到公司的生产环境根本不可能安装 fish,导致脚本无法移植,所以对于这部分只能忍痛放弃。

总结

这篇文章虽然字数不多,但是凝结了我不少心血,基本把官方文档全翻译了一遍,然后提取了简单实用的功能分享给大家,还有很多牛逼的功能限于我能力有限就不在这班门弄斧了。

本文来自合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

时间: 2024-11-05 19:25:28

宇宙第一 shell —— fish 入门的相关文章

shell脚本入门篇

shell脚本入门篇 简介 通常情况下,我们从命令行输入一个命令就能得到系统的响应.但是,当我们要一个接一个的输入命令而只是希望得到最后的结果时,这样做就显得没有效率了.要达到这样的目的,我们利用shell脚本来实现. shell参数 位置参数 由系统提供的参数称为位置参数.位置参数的值可以用$N得到,N是一个数字,即,如果N=1,那么位置参数为$1,和c语言中的数组比较类似.Linux中,会把输入的命令字符串进行分段并进行编号,从0开始.第0号表示为程序名字,从1开始就是表示传递给程序的参数.

Knockout应用开发指南 第一章:入门

原文:Knockout应用开发指南 第一章:入门 1    Knockout简介 (Introduction) Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化. Knockout有如下4大重要概念: 声明式绑定 (Declarative Bindings):使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上. UI界面自动刷新 (Automatic UI Refresh):当您的模型状态(model state)改变时,您的UI

《Docker技术入门与实战》——第一部分 Docker入门

第一部分 Docker入门 ■第1章初识Docker ■第2章Docker的核心概念和安装 ■第3章镜像 ■第4章容器 ■第5章仓库 ■第6章数据管理 ■第7章网络基础配置 ■第8章使用Dockerfile创建镜像 欢迎来到Docker的世界! 在这一部分里,笔者将介绍Docker的基础知识,本部分分为8章. 第1章介绍Docker开源项目以及它与现有的虚拟化技术,特别是Linux容器技术的关系:第2章介绍Docker的三大核心概念,以及如何在常见的操作系统环境中安装Docker:第3章第5章通

Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)_javascript技巧

什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 接下来给大家介绍vuejs单向绑定.双向绑定.列表渲染.响应函数基础知识,具体详情如下所示: (一)单向绑定 <div id="app"> {{ message }} </div> <sc

jfinal手册第一个快速入门的程序,如何通过tomcat发布到网上正常显示

问题描述 jfinal手册第一个快速入门的程序,如何通过tomcat发布到网上正常显示 我用的是java EE编程的 这是主程序 package projectTest; import com.jfinal.config.Constants; import com.jfinal.config.Handlers; import com.jfinal.config.Interceptors; import com.jfinal.config.JFinalConfig; import com.jfin

《Redis实战》一第一部分 入门

第一部分 入门 Redis实战本书最开始的两章将对Redis进行介绍,并展示Redis的一些基本用法.读完这两章之后,读者应该能够用Redis对自己的项目进行一些简单的优化.

在Linux系统中使用Fish Shell的入门指引

  安装以及配置 Linux 和 OS X 基本都可以通过源来安装,实在不行就下载源码编译,不难的. Ubuntu的话就是这样: 代码如下: sudo apt-get install fish 从bash进入fish直接输入fish就行了 安装好第一步是修改 OS 默认 shell: 代码如下: chsh -s /usr/bin/fish 然后就可以直接使用了,就是这么简单.你不需要面对 zsh 浩如烟海的配置文件,也不需要去 github clone 一个 "Oh My Zsh".

Spark修炼之道(基础篇)——Linux大数据开发基础:第九节:Shell编程入门(一)

本节主要内容 shell编程简介 变量定义 常用特殊变量 1. shell编程简介 学习linux操作系统最让人着迷的事情莫过于shell脚本编程,这是因为如果要完成某些复杂的功能,单纯地通过GUI操作不可能达到,shell脚本可以直接与操作系统内核打交道,从而完成任意复杂的任务.shell有很多种,最常用的是Bash (Bourne Again Shell),它是Linux操作系统默认的shell环境. 在linux环境中,需要区分一下root用户与一般用户的命令行显示: //root用户与一

Shell脚本入门笔记

编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh 来执行程序.当编辑好脚本时,如果要执行该脚本,还必须使其可执行.要使脚本可执行:chmod +x filename然后,您可以通过输入: ./filename 来执行您的脚本. She