在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”。

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

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

  我喜欢配置三件东西:

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

  代码如下:

  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):

  代码如下:

  set PATH $PATH /home/mountain/shell

  Exports

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



  列表

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



  命令替换

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

  语法糖

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

(0)

相关推荐

  • Linux系统中的文件类型及文件扩展名详解

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...

  • Linux系统中fstab文件丢失的恢复方法

    /etc/fstab配置文件决定了Linux系统在启动后如何加载各分区,若分区无法挂载,系统也将无法成功启动,启动时将会出现如下错误信息 /etc/fstab文件丢失的解决办法 1. 使用进入急救模式 ...

  • Linux系统中10个最危险的命令详解

    我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行?溆杏谩⒑芨咝В?埠苡腥ぃ??惺焙蛞埠芪O ...

  • Linux系统中如何修改及设置文件系统的权限及安全

    如果文件系统的权限设置不合理,就会威胁系统的安全,所以当运维人员遇到不能修改及删除文件的情况,就要对文件的的权限进行修改和设置了,下面小编就给大家介绍下Linux系统中如何修改及设置文件的权限。 一、 ...

  • linux系统中程序的安装.卸载和升级教程

    对于Linux初学者来说,RPM安装是一个不错的选择。如果想真正掌握Linux系统,源代码安装仍然是Linux下软件安装的重要手段。由于linux系统中应用软件的安装和大家熟悉的windows下面的软 ...

  • Linux系统中10个最危险的命令

    我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行?溆杏谩⒑芨咝В?埠苡腥ぃ??惺焙蛞埠芪O ...

  • Linux系统中获取路径的文件名的方法

    这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下 代码如下: [root@dabu.info ]#basename /root/aaa/bbb/dabu ...

  • 详解Linux系统中md5sum命令的用法

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  • Linux系统中的文件名和文件种类以及文件权限详解

    Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...