Fish shell 入门教程
欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0612/2840.html [a1622]Fish shell 入门教程
命令行是程序员的必备技能。图形界面虽然好看,解决问题还是要靠命令行。
命令行由 Shell 提供。各种命令通过 Shell,传递给操作系统的内核。学习命令行就是在学习 Shell。
Shell 有好几种,目前最常用是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好用。
五年前,我第一次尝试 Fish,感到很惊艳,一直用到现在。本文介绍 Fish 的主要特点,希望你也来尝试它。
感谢优达学城对本文提供赞助,结尾处有他们的课程推荐。
Fish 是"the friendly interactive shell"的简称,最大特点就是方便易用。很多其他 Shell 需要配置才有的功能,Fish 默认提供,不需要任何配置。
如果你想拥有一个方便好用的 Shell,又不想学习一大堆语法,或者花费很多时间配置,那么你一定要尝试一下 Fish。
Ubuntu 和 Debian 的安装方法。
Mac 的安装方法。
其他系统的安装请参考官方网站。
安装完成后,就可以启动 Fish。
由于 Fish 的语法与 Bash 有很大差异,Bash 脚本一般不兼容。因此,我建议不要将 Fish 设为默认 Shell,而是每次手动启动它。
使用过程中,如果需要帮助,可以输入help
命令。浏览器就会自动打开,显示在线文档。
进入 Fish 以后,你注意到的第一件事,可能就是它默认彩色显示。
有效路径会有下划线。
上面代码表示,存在以~/somefi
开头的路径。如果没有下划线,你就知道这个路径不存在。
Fish 会自动在光标后面给出建议,表示可能的选项,颜色为灰色。
如果采纳建议,可以按下→
或Control + F
。如果只采纳一部分,可以按下Alt + →
。
输入命令时,Fish 会自动显示匹配的上一条历史记录。
如果没有匹配的历史记录,Fish 会猜测可能的结果,自动补全各种输入。比如,输入pyt
再按下Tab
,就会自动补全为python
命令。
如果有多个可能的结果,Fish 会把它们都列出,还带有简要介绍。
这时,再按一次tab
,就可以在这些命令之中选择。
除了补全命令,Fish 还可以补全参数。比如,ls
命令的-l
参数后面按下Tab
键,就会显示可以连用的其他参数。
Fish 还可以自动补全 Git 分支。
Fish 的语法非常自然,一眼就能看懂。
if
语句。
switch
语句。
while
循环。
for
循环。
Fish 的函数用来封装命令,或者为现有的命令起别名。
上面代码定义了一个ll
函数。命令行执行这个函数以后,就可以用ll
命令替代ls -lhG
。其中,变量$argv
表示函数的参数。
下面是另一个例子。
上面的代码重新定义ls
命令。注意,函数体内的ls
之前,要加上command
,否则会因为无限循环而报错。
fish_prompt
函数用于定义命令行提示符(prompt)。
执行上面的函数以后,你的命令行提示符就会变成下面这样。