zoukankan      html  css  js  c++  java
  • 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,请读者以阮一峰和官网文档为主,我在此仅为狗尾续貂。

    临了再讲一个程序员的段子。一哥们看一美女很漂亮便跑过去躺到美女脚下,大喊:“姑娘你的男朋友掉了。”。结果就是一脚。。。

  • 相关阅读:
    深入理解Auto Layout 第一弹
    Android UI测量、布局、绘制过程探究
    Android Measure 体系简单总结
    [译]Android view 测量布局和绘制的流程
    UI布局只关乎三件事情:尺寸、位置、组织
    ios 布局 素材 待整理
    NSAllowsArbitraryLoadsInWebContent NSAllowsArbitraryLoads
    UIStackView
    laravel 自定义常量方法
    laravel 增加不存在数据库的字段
  • 原文地址:https://www.cnblogs.com/shoufengwei/p/6798304.html
Copyright © 2011-2022 走看看