宇宙第一 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.

相关文章
|
7月前
|
Shell Linux
Linux下的Shell基础——Shell概述和入门(一)
Linux下的Shell基础——Shell概述和入门(一)
70 0
Linux下的Shell基础——Shell概述和入门(一)
|
7月前
|
Shell 索引
shell脚本入门到实战(四)- 数组
shell脚本入门到实战(四)- 数组
|
7月前
|
Shell
shell脚本入门到实战(三) - 变量
shell脚本入门到实战(三) - 变量
|
7月前
|
Shell Linux 人机交互
shell脚本入门到实战(二)--shell输入和格式化输出
shell脚本入门到实战(二)--shell输入和格式化输出
448 0
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
4月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
66 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
3月前
|
存储 Ubuntu Shell
shell 用法入门
本文档详细介绍了Shell脚本的基础知识,包括基本写法、变量定义与使用、命令置换、环境变量、数组操作、算术运算、输入输出处理、控制语句及循环结构等内容。文档还提供了丰富的示例代码,帮助读者更好地理解和掌握Shell编程技巧。此外,还介绍了如何使用`if`语句进行条件判断、`case`语句进行模式匹配以及`while`、`for`循环等控制结构。最后,文档还涵盖了函数定义与调用的方法。适合初学者和有一定基础的开发者参考学习。
|
6月前
|
网络协议 Linux Shell
基础入门-反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载
基础入门-反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载
|
7月前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
135 3
|
7月前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)